内容简介:Flask返回json格式数据
Flask返回json格式数据
返回 json 格式数据主要有两个方面:
1、数据转换为json格式
2、声明数据为json格式
一、数据转换为json格式
转换为 json 格式是必须的,如
from flask import Flask
app = Flask(__name__)
@app.route('/')
def root():
t = {
'a': 1,
'b': 2,
'c': [3, 4, 5]
}
return t
if __name__ == '__main__':
app.debug = True
app.run()
这样访问会直接提示
TypeError: 'dict' object is not callable
比较常见的是采用标准库 json 进行格式转换:
from flask import Flask
import json
app = Flask(__name__)
@app.route('/')
def root():
t = {
'a': 1,
'b': 2,
'c': [3, 4, 5]
}
return json.dumps(t)
if __name__ == '__main__':
app.debug = True
app.run()
这样当访问时即能够正常得到 json 数据
二、声明数据为json格式
上面虽然可以正常运行了,但对于 http 而言还是不够友好的,因为在 Content-Type 中显示的是 text/html ;即其 MIME 因为没有设置,仍然是默认的 text/html 。
通常的解决办法是用 flask 中的 Response 模块,手动指定 MIME
from flask import Flask, Response
import json
app = Flask(__name__)
@app.route('/')
def root():
t = {
'a': 1,
'b': 2,
'c': [3, 4, 5]
}
return Response(json.dumps(t), mimetype='application/json')
if __name__ == '__main__':
app.debug = True
app.run()
这样在访问时 Content-Type 就是 application/json 了。
###三、更好的方法
因为 json 这么流行,实际上 flask 已经为 json 准备了专门的模块:jsonify
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def root():
t = {
'a': 1,
'b': 2,
'c': [3, 4, 5]
}
return jsonify(t)
if __name__ == '__main__':
app.debug = True
app.run()
以上所述就是小编给大家介绍的《Flask返回json格式数据》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
颠覆式创新:移动互联网时代的生存法则
李善友 / 机械工业出版社 / 2014-12-1 / 69
为什么把每件事情都做对了,仍有可能错失城池?为什么无人可敌的领先企业,却在一夜之间虎落平阳? 短短三年间诺基亚陨落,摩托罗拉区区29亿美元出售给联想,芯片业霸主英特尔在移动芯片领域份额几乎为零,风光无限的巨头转眼成为被颠覆的恐龙,默默无闻的小公司一战成名迅速崛起,令人瞠目结舌的现象几乎都被“颠覆式创新”法则所解释。颠覆式创新教你在新的商业竞争中“换操作系统”而不是“打补丁”,小公司用破坏性思......一起来看看 《颠覆式创新:移动互联网时代的生存法则》 这本书的介绍吧!