Erstellen Sie eine JSON -Antwort in Python

Erstellen Sie eine JSON -Antwort in Python

Die JSON -Datei (JavaScript -Objekt -Notation) ist ein sehr beliebtes Medium für die Austauschdaten zwischen verschiedenen Formaten. Es enthält Daten im Textformat, die von verschiedenen Sprachen wie Python, Php, Perl usw. unterstützt werden. Der Hauptzweck der JSON -Datei besteht darin, Daten zwischen dem Server und dem Client zu übertragen. Die Anfragen werden von Python generiert, um die Daten aus einem bestimmten Ressourcen -URI abzurufen. Wenn die Antwort der Anforderung im JSON -Format zurückgegeben wird, kann der Inhalt der Antwort mithilfe der Antwort abgerufen werden.JSON () Funktion. Es gibt die Antwort mit einem Python -Wörterbuch -Objekt zurück. Wie diese Funktion verwendet werden kann, um die JSON -Antwort mithilfe der Python Request Library zu analysieren, wird in diesem Tutorial angezeigt.

JSON -Antwort:

Das Anforderungsmodul von Python enthält den JSON -Decoder für die Arbeit mit den JSON -Daten. Die Antwort.JSON () -Funktion gibt eine JSON -Antwort zurück, wenn der JSON -Decoder ordnungsgemäß funktioniert. Die Antwort.JSON () -Funktion erhöht die Ausnahme, wenn der JSON -Decoder fehlschlägt und die JSON -Antwort keine Daten oder ungültige Daten enthält. Der Rückgabewert der Antwort.Raise_for_status () -Funktion oder die Antwort.status_code muss vor der Ausführung der Antwort überprüft werden.JSON () Funktion.

Verschiedene Verwendungen der Antwort.JSON ():

Drei verschiedene Verwendungen der Antwort.JSON () -Funktion wird in diesem Teil des Tutorials gezeigt.

Beispiel 1: Einfache Verwendung der Antwort.JSON ()

Die einfache Verwendung der Antwort.JSON () -Funktion wird in diesem Beispiel erläutert. Die Antwort auf die Get -Anfrage des URI, https: // api.Github.com/ wird in einer Variablen namens Antwort gespeichert. Als nächstes wird der Wert der Antwortvariablen überprüft. Wenn die Antwortvariable eine ungültige Antwort enthält, wird eine Fehlermeldung gedruckt. Wenn die Antwortvariable eine gültige Antwort enthält, die der Statuscode der Antwort und dessen Inhalt ist, druckt eine Erfolgsnachricht.

# Modul für Anforderungen importieren
Anfragen importieren
# Erstellen Sie eine Get -Anfrage
Antwort = Anfragen.Get ('https: // api.Github.com/')
# Überprüfen Sie die Antwort
Wenn Antwort:
# Drucken Sie den Antwortstatuscode
drucken ('Der Statuscode der Antwort ist %d' %Antwort.Statuscode)
# Drucken Sie den JSON -Inhalt aus
print ('Der JSON -Inhalt ist: \ n %s' %Antwort.JSON ())
# Drucken Sie die Erfolgsnachricht
drucken ('\ n Die Anfrage wird erfolgreich behandelt.'))
anders:
# Drucken Sie die Fehlermeldung für die ungültige Antwort
drucken ('ungültige Antwort.'))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel 2: Verwendung der Antwort.JSON () mit Ausnahmebehandlung

Die Art der Antwort.JSON () -Funktion mit Ausnahmebehandlung wird in diesem Beispiel gezeigt. Das HTTPerROR -Modul wird mit dem Anforderungsmodul im Skript importiert, um die Ausnahme zu behandeln. Hier wird die URI -Adresse vom Benutzer übernommen, um die Anfragen zu verwenden.Get () Funktion. Die Antwort dieser Anfrage wird in der Antwortvariablen gespeichert. Als nächstes Antwort.RAUS_FOR_STATUS () Die Funktion wird verwendet, um die Antwort der Anforderung zu überprüfen, ob sie gültig oder ungültig ist. Wenn die Antwort ungültig ist, wird eine Ausnahme generiert und der Code eines beliebigen außer Blocks basierend auf der Ausnahme ausgeführt. Wenn die Antwort gültig ist, wird der Inhalt der Antwortvariablen mit einem für Schleifen iteriert, um die Werte des Wörterbuchs in jeder Zeile zu drucken, die die Antwortdaten enthält.

# Modul für Anforderungen importieren
Anfragen importieren
# HTTPERROR für Ausnahmebehandlung importieren
von Anfragen.Ausnahmen importieren httperror
# Definieren Sie den URI
Uri = input ('Geben Sie das gültige URI ein: \ n')
# Wartenachricht drucken
print ('Warten auf die Antwort… \ n')
versuchen:
# Erstellen Sie eine Get -Anfrage zum Lesen von Feeds -Inhalten von GitHub
Antwort = Anfragen.Holen Sie sich (URI)
# Ausnahme anheben, wenn die Antwort erfolglos war
Antwort.raise_for_status ()
# Lesen Sie den JSON -Inhalt
JsonResponse = Antwort.JSON ()
print ("Der JSON -Inhalt ist: \ n")
# Lesen und drucken Sie jedes Schlüsselwertpaar aus der JSON-Antwort
Für den Schlüssel, Wert in JsonResponse.Artikel():
print (Schlüssel, ":", Wert)
# Fehlermeldung für den HTTP -Fehler Druckmeldung
Außer httperror als http_err:
print ('HTTP -Fehler aufgetreten: %s' %http_err)
# Fehlermeldung für den HTTP -Fehler Druckmeldung
außer Ausnahme als ERR:
drucken ('Anderer Fehler ist aufgetreten: %s' %err)

Ausgang:

Die folgende Ausgabe wird nach Ausführung des Skripts angezeigt, wenn vom Benutzer ein URI-Wert nicht existieren wird. Hier wurde die httperror -Ausnahme neben der entsprechenden Fehlermeldung generiert.


Nach der Ausführung des Skripts wird die folgende Ausgabe angezeigt, wenn vom Benutzer ein ungültiger URI -Wert bereitgestellt wird. Hier wurde die andere Ausnahme mit einer entsprechenden Fehlermeldung generiert.

Nach der Ausführung des Skripts wird die folgende Ausgabe angezeigt, wenn vom Benutzer ein gültiger URI -Wert bereitgestellt wird. Hier wurde der JSON -Inhalt ordnungsgemäß gedruckt.

Beispiel-3: Verwendung der Antwort.JSON () mit Abfragezeichenfolge

Die Art der Antwort.JSON () -Funktion mit Abfragezeichenfolge wird in diesem Beispiel angezeigt. Hier die Anfragen.Get () -Funktion verwendet einen Abfrage -Zeichenfolgewert mit dem URI mit Params. Es wird die Einträge für die Perl -Sprache in den angegebenen Repositorys durchsucht. Wenn die Antwortvariable eine gültige Antwort enthält, wird der Name und die Beschreibung des Repositorys gedruckt. Andernfalls gibt es eine Fehlermeldung.

# Modul für Anforderungen importieren
Anfragen importieren
# Suchen Sie in Githubs Repository mit der Abfragezeichenfolge
Antwort = Anfragen.erhalten(
'https: // api.Github.com/such/repositories ',
params = 'q': 'Anfragen+Sprache: Perl',
)
# Überprüfen Sie die Antwort
Wenn Antwort:
# Lesen Sie den JSON -Inhalt
JSON_Response = Antwort.JSON ()
# Lesen Sie das bestimmte Repository -Element
repository = json_response ['items'] [0]
# Drucken Sie den Repository -Namen
print ('Repository Name: %S' %Repository ["Name"])
# Drucken Sie die Repository -Beschreibung
Print ('Repository Beschreibung: %S' %Repository ["Beschreibung"])
anders:
# Drucken Sie die Fehlermeldung für die ungültige Antwort
drucken ('ungültige Antwort.'))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Der Repository -Name und die Beschreibung für die Perl -Sprache waren hier gedruckt worden.

Abschluss:

Verschiedene Möglichkeiten, die Anfrage an einen bestimmten URI zu senden und die Antwort mit der Antwort zu lesen.JSON () -Funktion wurde in diesem Tutorial anhand einfacher Beispiele gezeigt. Ich hoffe.