Wie kann ich das Parsen der JSON-Antwort von Python-Requests?
Ich versuche zu analysieren, eine response.text
dass ich bekomme, wenn ich eine request
mit Hilfe der Python-Requests-Bibliothek. Zum Beispiel:
def check_user(self):
method = 'POST'
url = 'http://localhost:5000/login'
ck = cookielib.CookieJar()
self.response = requests.request(method,url,data='username=test1&passwd=pass1', cookies=ck)
print self.response.text
Wenn ich diese Methode ausführen, die Ausgabe ist:
{"request":"POST /login","result":"success"}
Ich würde gerne überprüfen, ob "result"
gleich "success"
ignorieren was kommt vor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Handbuch schlägt vor:
if self.response.status_code == requests.codes.ok:
Wenn das nicht funktioniert:
Seit der Ausgabe
response
, scheint ein Wörterbuch, Sie sollten in der Lage sein zu tunhaben und es drucken
response
ist ein 'Antwort' - Objekt hat kein Attribut 'get'. Ich habe versucht, zu analysieren, "manuell"response.text
als string und funktioniert gut, aber ich denke, es ist nicht ein guter Weg, es zu tunIch eine andere Lösung gefunden. Es ist nicht notwendig, um
json
Modul. Sie können erstellen Sie einedict
mitdict = eval(whatever)
und zurück, im Beispieldict["result"]
. Ich denke, es ist mehr elegant. Aber auch die anderen Lösungen funktionieren auch und sind richtigeval()
'ing, eine zufällige (nicht vertrauenswürdigen) - api-Antwort scheint wie eine schreckliche Idee, security-wise.