Ich verwende das Python- requests
Modul , um ein RESTful GET an einen Server zu senden, für den ich in JSON eine Antwort erhalte. Die JSON-Antwort ist im Grunde nur eine Liste von Listen.
Was ist der beste Weg, um die Antwort auf ein natives Python-Objekt zu erzwingen, damit ich sie entweder iterieren oder ausdrucken kann pprint
?
python
json
rest
python-requests
felix001
quelle
quelle
str()
. Auf der anderen Seite sind Unicode-Daten nicht schlecht (in Vorbereitung auf die Zukunft).response.json()
, da es die verwendete Codierung besser herausfinden kann. (Haftungsausschluss, ich habe einen Teil dieses Codes geschrieben).response.text()
?requests.compat.json.loads(resp_text)
Da benutzt du
requests
, sollten Sie diejson
Methode der Antwort verwenden.Es erkennt automatisch, welcher Decoder verwendet werden soll .
quelle
pip install requests
jedoch anstelle des Deb-Pakets.data
ist, ist es eine Liste von Listen oder ein Wörterbuch.data
spiegelt die Struktur des JSON wider , den es liest. Wenn die Antwort beispielsweise lautet :[{"a": {...}}]
,data
ist eine Liste mitlist[0] == {'a': {...}}
. Wenn die Antwort ist{"a": "b", "c": "d"}
,data
ist ein Diktat. Beantwortet das deine Frage?>>> import requests >>> r = requests.get('http://httpbin.org/get') >>> r.json <bound method Response.json of <Response [200]>> >>> r.json() {'args': {}, ...}