Flask 学习-6. jsonify()返回JSON格式数据
前言
JSON 格式的响应是常见的,用 Flask 写这样的 API 是很容易上手的。如果从视图 返回一个 dict ,那么它会被转换为一个 JSON 响应。
返回JSON 格式
如果从视图 返回一个 dict ,那么它会被转换为一个 JSON 响应。
from flask import Flask
from flask import render_template
from flask import request
app = Flask(__name__)
@app.route('/json', methods=['GET'])
def json_demo():
user = request.args.get('user')
return {
"username": user,
"email": "111@qq.com"
}
if __name__ == '__main__':
app.run()
启动后访问http://127.0.0.1:5000/json?user=yoyo
运行返回结果
HTTP/1.1 200 OK
Server: Werkzeug/2.2.2 Python/3.8.5
Date: Mon, 22 Aug 2022 01:52:40 GMT
Content-Type: application/json
Content-Length: 41
Connection: close
{"email":"111@qq.com","username":"yoyo"}
当返回的是dict 字典格式的时候,返回内容自动转换成Content-Type: application/json
格式
jsonify() 函数
如果 dict 还不能满足需求,还需要创建其他类型的 JSON 格式响应,可以使用 jsonify() 函数。该函数会序列化任何支持的 JSON 数据类型。
from flask import Flask
from flask import render_template
from flask import request
from flask import jsonify
app = Flask(__name__)
@app.route('/jsonfy')
def get_current_user():
return jsonify(username='yoyo',
email='123@qq.com',
id=22)
if __name__ == '__main__':
app.run()
访问/jsonfy
接口返回内容
HTTP/1.1 200 OK
Server: Werkzeug/2.2.2 Python/3.8.5
Date: Mon, 22 Aug 2022 02:03:53 GMT
Content-Type: application/json
Content-Length: 49
Connection: close
{"email":"123@qq.com","id":22,"username":"yoyo"}
jsonify() 函数会序列化任何支持的 JSON 数据类型。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具