您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

以整洁的方式显示从Flask返回的JSON

以整洁的方式显示从Flask返回的JSON

Flask提供jsonify()了以下便利:

from flask import jsonify

@app.route("/<major>/")
def major_res(major):
    course_list = list(client.db.course_col.find({"major": major.upper()}))
    return flask.jsonify(**course_list)

这将返回args jsonify作为JSON表示形式,并且与你的代码不同,它将发送适当的Content-Type标头:application/json。注意文档对格式的看法:

如果将JSONIFY_PRETTYPRINT_REGULARconfig参数设置为True或Flask应用程序在调试模式下运行,则该函数的响应将很漂亮地打印出来。压缩(不太漂亮)格式当前表示分隔符后没有缩进和空格。

当不在调试模式下时,响应将接收非漂亮的JSON。这不应该成为问题,因为不需要对用于JavaScript的JSON进行格式化(这只是通过网络发送的额外数据),并且大多数工具格式都是自己接收JSON的。

如果你仍然想使用json.dumps(),可以通过返回Response with 来发送正确的mimetype current_app.response_class()

from flask import json, current_app

@app.route("/<major>/")
def major_res(major):
    course_list = list(client.db.course_col.find({"major": major.upper() }))
    return current_app.response_class(json.dumps(course_list), mimetype="application/json")
Python 2022/1/1 18:24:08 有429人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶