J'utilise le requests
module python pour envoyer un RESTful GET à un serveur, pour lequel j'obtiens une réponse en JSON. La réponse JSON est simplement une liste de listes.
Quelle est la meilleure façon de contraindre la réponse à un objet Python natif afin que je puisse soit l'itérer soit l'imprimer à l'aide pprint
?
python
json
rest
python-requests
felix001
la source
la source
str()
. D'un autre côté, les données unicode ne sont pas mauvaises à avoir autour (en préparation pour l'avenir).response.json()
, car cela permettra de mieux comprendre l'encodage utilisé. (Avertissement, j'ai écrit une partie de ce code).response.text()
?requests.compat.json.loads(resp_text)
Puisque vous utilisez
requests
, vous devez utiliser lajson
méthode de la réponse .Il détecte automatiquement le décodeur à utiliser .
la source
pip install requests
cependant au lieu d'utiliser le paquet deb.data
c'est une liste de liste ou un dictionnaire.data
reflète la structure du JSON qu'il lit. Par exemple, si la réponse est:[{"a": {...}}]
,data
une liste, aveclist[0] == {'a': {...}}
. Si la réponse est{"a": "b", "c": "d"}
,data
c'est un dicton. Est-ce que ça répond à votre question?>>> import requests >>> r = requests.get('http://httpbin.org/get') >>> r.json <bound method Response.json of <Response [200]>> >>> r.json() {'args': {}, ...}