从Flask vi返回JSON响应

2024-03-29 14:31:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数,它用Pandas分析CSV文件并生成一个包含摘要信息的dict。我想从烧瓶视图返回结果作为响应。如何返回JSON响应?

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

Tags: 文件csv函数send视图信息jsonapp
3条回答

将摘要数据传递给^{}函数,该函数返回一个JSON响应。

from flask import jsonify

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

从Flask 0.11开始,您可以将任何JSON可序列化类型(而不仅仅是dict)作为顶级对象传递。

将关键字参数传递给^{},它们将作为JSON对象输出。

@app.route('/_get_current_user')
def get_current_user():
    return jsonify(
        username=g.user.username,
        email=g.user.email,
        id=g.user.id
    )
{
    "username": "admin",
    "email": "admin@localhost",
    "id": 42
}

如果您已经有一个dict,那么可以直接将其作为jsonify(d)传递。

jsonify序列化传递给JSON的数据。如果您想自己序列化数据,请使用status=200mimetype='application/json'构建一个响应来执行jsonify所做的操作。

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

相关问题 更多 >