从 Flask 视图返回 JSON 响应

新手上路,请多包涵

我有一个函数可以用 Pandas 分析 CSV 文件并生成带有摘要信息的字典。我想将结果作为 Flask 视图的响应返回。如何返回 JSON 响应?

 @app.route("/summary")
def summary():
    d = make_summary()
    # send it back as json

原文由 Code Ninja 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 598
2 个回答

从 Flask 1.1.0 开始,视图可以直接返回 Python 字典,Flask 会自动调用 jsonify

 @app.route("/summary")
def summary():
    d = make_summary()
    return d

如果您的 Flask 版本小于 1.1.0 或返回不同的 JSON 可序列化对象,请导入并使用 jsonify

 from flask import jsonify

@app.route("/summary")
def summary():
    d = make_summary()
    return jsonify(d)

原文由 codegeek 发布,翻译遵循 CC BY-SA 4.0 许可协议

jsonify 序列化您传递给 JSON 的数据。如果你想自己序列化数据,做 jsonify 通过构建响应 status=200mimetype='application/json'

 from flask import json

@app.route('/summary')
def summary():
    data = make_summary()
    response = app.response_class(
        response=json.dumps(data),
        status=200,
        mimetype='application/json'
    )
    return response

原文由 scls 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题