El tutorial o código que encontrarás en este artículo es la solución más sencilla y válida que hallamos a tus dudas o dilema.
Solución:
EDITAR: a partir de Flask 1.1.0 (como lo menciona Adrien Ball en el comentario a continuación), ahora puede devolver directamente un dictado de Python y Flask lo jsonificará detrás de escena para usted
@app.route('/summary')
def summary():
d = make_summary()
return d
si desea devolver un objeto json serializable diferente, puede importar y usar jsonify
from flask import jsonify
...
return jsonify(x)
jsonify
serializa los datos que le pasas a JSON. Si desea serializar los datos usted mismo, haga lo que jsonify
hace construyendo una respuesta con status=200
y mimetype='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
Pasar argumentos de palabra clave a flask.jsonify
y se generarán como un objeto 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": "[email protected]",
"id": 42
Si ya tiene un dict, puede pasarlo directamente como jsonify(d)
.
Acuérdate de que te brindamos la opción de esclarecer si te fue preciso.