内容简介: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格式数据》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- asp.net返回JSON格式数据总结
- Java 如何设计 API 接口,实现统一格式返回?
- SpringBoot入门系列(二)如何返回统一的数据格式
- 分布式之API接口返回格式如何优雅设计?
- Bee 1.4.7 发布,增强查询 DB 直接返回 Json 格式数据
- go-fastdfs v1.3.7 发布,增加上传返回格式 json2,增加视频教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。