通过Flask响应发送JSON和状态代码

通过Flask响应发送JSON和状态代码,json,flask,Json,Flask,我知道我可以使用response(status=200)设置响应的状态代码。设置状态代码时如何返回JSON数据 from flask import Flask, Response @app.route('/login', methods=['POST']) def login(): response = Response(status=200) # need to set JSON like {'username': 'febin'} return response

我知道我可以使用
response(status=200)
设置响应的状态代码。设置状态代码时如何返回JSON数据

from flask import Flask, Response

@app.route('/login', methods=['POST'])
def login():
    response = Response(status=200)
    # need to set JSON like {'username': 'febin'}
    return response

您可以将数据附加到响应中,如下所示:

from flask import Flask, json

@app.route('/login', methods=['POST'])
def login():
    data = {"some_key":"some_value"} # Your data in JSON-serializable type
    response = app.response_class(response=json.dumps(data),
                                  status=200,
                                  mimetype='application/json')
    return response
响应数据内容类型由mimetype参数定义。

使用。此方法采用任何可序列化的数据类型。例如,我在下面的示例中使用了字典
数据

from flask import jsonify

@app.route('/login', methods=['POST'])
def login():
    data = {'name': 'nabin khadka'}
    return jsonify(data)
要返回状态代码,请返回响应和代码的元组:

return jsonify(data), 200
请注意,200是默认状态代码,因此无需指定该代码


更新 从Flask 1.1开始,return语句将自动
jsonify
第一个返回值中的字典。您可以直接返回数据:

return data
您还可以返回状态代码:

return data, 200