Sending JSON and status code with a Flask response [duplicate] Sending JSON and status code with a Flask response [duplicate] flask flask

Sending JSON and status code with a Flask response [duplicate]


Use flask.jsonify(). This method takes any serializable data type. For example I have used a dictionary data in the following example.

from flask import jsonify@app.route('/login', methods=['POST'])def login():    data = {'name': 'nabin khadka'}    return jsonify(data)

To return a status code, return a tuple of the response and code:

return jsonify(data), 200

Note that 200 is the default status code, so it's not necessary to specify that code.


UPDATE

As of Flask 1.1, the return statement will automatically jsonify a dictionary in the first return value. You can return the data directly:

return data

You can also return it with a status code:

return data, 200


You can append the data to the response like this:

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

The response data content type is defined by mimetype parameter.