flask提供了jsonify函數(shù)供用戶處理返回的序列化json數(shù)據(jù),而python自帶的json庫中也有dumps方法可以序列化json對象,那么在flask的視圖函數(shù)中return它們會有什么不同之處呢?
想必開始很多人和我一樣搞不清楚,只知道既然框架提供了方法就用,肯定不會錯(cuò)。
但作為開發(fā)人員,我們需要弄清楚開發(fā)過程中各種實(shí)現(xiàn)方式的特點(diǎn)和區(qū)別,這樣在我們面對不同的需求時(shí)才能做出相對合理的選擇,而不是千篇一律地使用自己熟悉的。下面我就jsonify和json.dumps的區(qū)別這一問題簡單探討一下。
一、實(shí)驗(yàn)
python的flask框架為用戶提供了直接返回包含json格式數(shù)據(jù)響應(yīng)的方法,即jsonify,在開發(fā)中會經(jīng)常用到。如下一段簡單的flask后端代碼,服務(wù)端視圖函數(shù)根據(jù)請求參數(shù)返回json格式的數(shù)據(jù)到客戶端。
from flask import Flask from flask import jsonify from flask import Response app = Flask(__name__) @app.route('/hello// ',methods=['GET']) def hello(name,words): return jsonify({'name':name,'words':words})#也可以傳入key=value形式的參數(shù),如jsonify(name=name,words=words) if __name__ == '__main__': app.run()