Kolben jsonify

Haider Ali 21 Juni 2023
  1. Verwendung von flask.jsonify() und json.dumps()
  2. die json.dumps()-Methode
  3. die Funktion flask.jsonify()
Kolben jsonify

Diese Anleitung wird sehen, was jsonify ist und es in den Kolben ablegen. Wozu dienen flask.jsonify und json.dump und was ist der Unterschied zwischen ihnen?

Lassen Sie uns also ohne weiteres Warten eintauchen.

Verwendung von flask.jsonify() und json.dumps()

Es scheinen immer mehr Leute zwischen flask.jsonify() und json.dumps() zu verwechseln, da es nur geringfügige Unterschiede zwischen diesen beiden Funktionen gibt.

Der Unterschied zwischen den beiden in Bezug auf ihre Funktionsweise ist nicht so schwierig, wie es zunächst scheinen mag.

Damit wir diese Unterschiede einfach verstehen, beantworten wir die Hauptfrage: Wann sollten wir json.dumps() und flask.jsonify() verwenden? Aber zuerst sehen wir uns an, was json.dumps() ist.

die json.dumps()-Methode

Zuerst müssen wir beim Lesen oder Schreiben der JSON-Dateien das Paket json verwenden. Dieses Paket enthält eine Methode namens json.dumps(), um die in Python geschriebenen Daten in eine JSON-Datei zu konvertieren.

Diese Methode konvertiert alle in Python geschriebenen Daten und gibt sie in Zeichenfolgen zurück, die nun als JSON-Datei gelesen werden.

Ein Beispiel für die Methode json.dumps() wird verwendet, um die Städteliste zu benennen.

@app.route("/")  # display on "home" page
def list_of_cities_dumps():
    cities = [
        {"name": "Central City", "country": "USA"},
        {"name": "Ottawa", "country": "Canada"},
    ]
    return json.dumps(
        cities
    )  # json.dump() method is being used to call the list of cities


if __name__ == "__main__":
    app.run(debug=True)

Ausgang:

[{'name': 'Central City', 'country': 'USA'}, {'name': 'Ottawa', 'country': 'Canada'}]

Wie im obigen Beispiel gezeigt, wird die Ausgabe der Städteliste angezeigt. Auch wenn es lesbar ist, stellen Sie sich vor, der Benutzer hätte Daten über Schüler einer Schule.

Eine Unterscheidung zwischen den Studierenden wäre bei Anwendung dieser Methode schwierig, da es keine eindeutige Datenbildung gibt.

Um diesen Fehler zu beheben, wurde die Funktion flask.jsonify() eingeführt.

die Funktion flask.jsonify()

Im Modul flask.json ist jsonify eine Funktion in Flask. Um Daten als HTTP-Antwort zu senden, wenn Sie das Flask-Framework verwenden, müssen Sie die Funktion flask.jsonify() verwenden.

Um diese Funktion nutzen zu können, müssten wir flask importieren.

Diese Funktion konvertiert dann die Daten in eine JSON-Datei und gibt dann ein Antwortobjekt zurück, mit dem der Server auf die Clientanforderung antwortet.

Die konvertierte JSON-Datei wird dem neu erstellten Antwortobjekt hinzugefügt. Wenn Sie das Inhaltstyp-Header-Feld auf application/JSON setzen, wird auch der entsprechende Mimetyp hinzugefügt, der allgemein als Medientyp bekannt ist.

Wenn Sie eine Datei zusammen mit einem Medientyp oder Mimetyp senden, wird der Dateityp angegeben, um den es sich zusammen mit der Nachricht handelt.

Lassen Sie uns mit Hilfe des gleichen Beispiels oben die Funktionsweise von flask.jsonify() besser verstehen.

@app.route("/")  # displays on the "home" page
def list_of_cities():
    cities = [
        {"name": "Central City", "country": "USA"},
        {"name": "Ottawa", "country": "Canada"},
    ]
    return jsonify(
        cities
    )  # the function jsonify is used here to call the list of cities


if __name__ == "__main__":
    app.run(debug=True)

Ausgang:

[
  {
    "country": "USA",
    "name": "Central City"
  },
  {
    "country": "Canada",
    "name": "Ottawa"
  }
]

Wie in der Ausgabe gezeigt, ist die Ausgabe der Städteliste organisiert und leicht verständlich im Vergleich zu der Verwendung der Methode json.dumps().

Der folgende Code ist die Kombination beider Beispiele.

from flask import Flask, jsonify
import json

app = Flask(__name__)


@app.route("/")
def list_of_cities():
    cities = [
        {"name": "Central City", "country": "USA"},
        {"name": "Ottawa", "country": "Canada"},
    ]
    return jsonify(cities)


@app.route("/1")
def list_of_cities_dumps():
    cities = [
        {"name": "Central City", "country": "USA"},
        {"name": "Ottawa", "country": "Canada"},
    ]
    return json.dumps(cities)


if __name__ == "__main__":
    app.run(debug=True)
Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn