Anteriormente te mostré cómo leer la petición JSON con Flask, ahora te mostraré cómo codificar datos con JSON y mostrarlos como respuesta al crear una aplicación web o API usando Flask.
En otras palabras te enseñaré a codificar y responder con JSON cuando usas Flask programando con Python.
Codificar datos a JSON con Flask
Lo primero que tienes que hacer es importar la función jsonify
de flask
. Algo así:
from flask import Flask, jsonify # <-- jsonify es quien hace la magia
Ahora, cada que quieras codificar cualquier valor como JSON simplemente regresa (en la función de la petición) lo que regrese la función jsonify
. Así:
@app.route('/')
def inicio():
nombre = "Luis"
return jsonify(nombre)
Al regresar lo que regresa jsonify
, estarás devolviendo el JSON. Aquí te dejo otro ejemplo para codificar una lista, pero te recuerdo que puedes codificar casi cualquier cosa, pues al final JSON es para eso:
@app.route('/lista')
def lista():
nombres = ["Luis", "María José", "Maggie", "Panqué"]
return jsonify(nombres)
Recuerda visitar /lista
para ver la lista codificada.
Sobre el formato de JSON
Si especificas debug
en True
al iniciar la app, el JSON se mostrará formateado con espacios y tabulaciones (pues estás depurando). Si no quieres que aparezca así, simplemente especifica debug
en False
.
Es decir, el código completo para que muestre el JSON sin debug, sería:
"""
https://parzibyte.me/blog
"""
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def inicio():
nombre = "Luis"
return jsonify(nombre)
@app.route('/lista')
def lista():
nombres = ["Luis", "María José", "Maggie", "Panqué"]
return jsonify(nombres)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000, debug=False)
Fíjate en la línea 21, al invocar a app.run
yo estoy especificando que no quiero depurar.