Korzystam z requests
modułu python , aby wysłać RESTful GET na serwer, na który otrzymuję odpowiedź w JSON. Odpowiedź JSON to w zasadzie tylko lista list.
Jaki jest najlepszy sposób na wymuszenie odpowiedzi na rodzimy obiekt Pythona, aby można go było iterować lub wydrukować za pomocą pprint
?
python
json
rest
python-requests
felix001
źródło
źródło
str()
. Z drugiej strony dane unicode nie są złe (w przygotowaniu na przyszłość).response.json()
, ponieważ lepiej sobie z tym poradzi . (Oświadczenie, napisałem część tego kodu).response.text()
?requests.compat.json.loads(resp_text)
Ponieważ używasz
requests
, powinieneś użyć metody odpowiedzijson
.To automatycznie wykrywa która dekoder do użytku .
źródło
pip install requests
jednak zamiast używać pakietu deb.data
listą lub słownikiem.data
odzwierciedla strukturę czytanego JSON. Na przykład, jeśli odpowiedź brzmi:[{"a": {...}}]
,data
znajduje się lista, zlist[0] == {'a': {...}}
. Jeśli odpowiedź brzmi{"a": "b", "c": "d"}
,data
to dykt. Czy to jest odpowiedź na Twoje pytanie?>>> import requests >>> r = requests.get('http://httpbin.org/get') >>> r.json <bound method Response.json of <Response [200]>> >>> r.json() {'args': {}, ...}