Handhabung von Anfragedaten im JSON-Format in Flask
Mit dieser Erklärung lernen wir, was JSON ist und wie eingehende Anfragedaten im JSON-Format behandelt werden. Wir werden auch lernen, wie man die Postman Chrome-Erweiterung verwendet, um JSON-Daten zu senden.
Handhabung von Anfragedaten im JSON-Format in Flask
JSON ist ein kompaktes, lesbares Textformat zur Strukturierung von Daten. JSON steht für JavaScript Object Notation; es ist ein völlig sprachunabhängiges Textformat.
Es beginnt und endet mit geschweiften Klammern. Das JSON-Format ist für Menschen sehr einfach zu lesen und auch für Computer einfach zu analysieren und zu generieren.
Es gibt eine weitere Möglichkeit, Anforderungsdaten an Ihre Flask-App zu parsen, und diese Methode verwendet ein JSON-Objekt. Um dies zu demonstrieren, verwenden wir Postman, ein Tool in Chrome, mit dem Sie HTTP-Anforderungen an bestimmte URLs senden können.
Als erstes müssen wir eine Route für die Handhabung von JSON erstellen. Wir nennen dies /post-data
, was nur POST
-Anforderungen entgegennimmt, aber es hängt nur davon ab, was Sie mit der HTTP-Methode verwenden möchten.
Jetzt definieren wir eine Methode namens POST_REQ_DATA()
. Wir geben ein JSON-Objekt, jsonify()
, zurück und fügen ein Wörterbuch darin ein.
@app.route("/post-data", methods=["POST"])
def POST_REQ_DATA():
return jsonify({"Post_Request": "Sent"})
Wenn wir zu Postman gehen und zu einer POST
-Anfrage wechseln, die /post-data
eingeben und senden, sehen wir die Ausgabe, die wir über jsonify()
gesendet haben.
Aber im Moment nimmt es keine Art von Anfragedaten entgegen. Um auf JSON-Anfragen zuzugreifen, gehen wir zurück in unsere Flask-App und rufen innerhalb der Funktion die Methode request.get_json()
auf.
Diese Methode nimmt das eingehende JSON-Objekt und konvertiert es in Python-Datenstrukturen. Wenn wir es an jsonify()
übergeben, findet es ein Objekt in einem JSON-Objekt und konvertiert es in Python-Wörterbücher, und Arrays im JSON-Objekt werden in Listen in Python konvertiert.
Jetzt werden wir ein Objekt namens P_R
mit request.get_json()
deklarieren, dann werden wir es als Schlüssel verwenden, um einige Werte zu definieren und sie innerhalb der jsonify()
-Methode zu übergeben. Diese Werte sollten nur reguläre Variablen sein.
def POST_REQ_DATA():
P_R = request.get_json()
company_name = P_R["company_name"]
location = P_R["location"]
userlist = P_R["userlist"]
return jsonify(
{
"Post_Request": "Sent",
"company_name": company_name,
"location": location,
"userlist": userlist[1],
}
)
Wir gehen zurück zum Postman, klicken auf die Registerkarte Body und wechseln zu Raw. Stellen Sie dann sicher, dass die JSON-Anwendung in dieser Dropdown-Liste ausgewählt ist, da es sich um den MIME-Typ Jason handelt. Jetzt können wir hier JSON-Abfragen schreiben und auf die Schaltfläche Send
klicken, nachdem wir unsere JSON-Daten eingegeben haben; Die Antwort ist unten dargestellt.
Der vollständige Quellcode unserer Flask-App ist unten dargestellt:
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route("/post-data", methods=["POST"])
def POST_REQ_DATA():
P_R = request.get_json()
company_name = P_R["company_name"]
location = P_R["location"]
userlist = P_R["userlist"]
return jsonify(
{
"Post_Request": "Sent",
"company_name": company_name,
"location": location,
"userlist": userlist[1],
}
)
# We feed the follwing data inside the postman
# {'company_name':'Delftstack','location':'Netherland','userlist':['Harry Parker','Goerge Wilson']}
if __name__ == "__main__":
app.run(debug=True)
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn