Flask
Travailler avec JSON
Recherche…
Renvoie une réponse JSON à partir de l'API Flask
Flask possède un utilitaire appelé jsonify()
qui facilite le retour des réponses JSON
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/get-json')
def hello():
return jsonify(hello='world') # Returns HTTP Response with {"hello": "world"}
Essayez-le avec une curl
curl -X GET http://127.0.0.1:5000/api/get-json
{
"hello": "world"
}
Autres façons d'utiliser jsonify()
En utilisant un dictionnaire existant:
person = {'name': 'Alice', 'birth-year': 1986}
return jsonify(person)
En utilisant une liste:
people = [{'name': 'Alice', 'birth-year': 1986},
{'name': 'Bob', 'birth-year': 1985}]
return jsonify(people)
Recevoir JSON à partir d'une requête HTTP
Si le type MIME de la requête HTTP est application/json
, l'appel de request.get_json()
renverra les données JSON analysées (sinon, il renvoie None
).
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/echo-json', methods=['GET', 'POST', 'DELETE', 'PUT'])
def add():
data = request.get_json()
# ... do your business logic, and return some response
# e.g. below we're just echo-ing back the received JSON data
return jsonify(data)
Essayez-le avec une curl
Le paramètre -H 'Content-Type: application/json'
spécifie qu'il s'agit d'une requête JSON:
curl -X POST -H 'Content-Type: application/json' http://127.0.0.1:5000/api/echo-json -d '{"name": "Alice"}'
{
"name": "Alice"
}
Pour envoyer des requêtes à l'aide d'autres méthodes HTTP, remplacez curl -X POST
par la méthode souhaitée, par exemple curl -X GET
, curl -X PUT
, etc.
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow