Estou usando o requests
módulo python para enviar um RESTful GET para um servidor, para o qual recebo uma resposta em JSON. A resposta JSON é basicamente apenas uma lista de listas.
Qual é a melhor maneira de coagir a resposta a um objeto Python nativo para que eu possa iterar ou imprimi-lo usando pprint
?
python
json
rest
python-requests
felix001
fonte
fonte
str()
. Por outro lado, não é ruim ter dados unicode (em preparação para o futuro).response.json()
, pois ele fará um trabalho melhor para descobrir a codificação usada. (Isenção de responsabilidade, escrevi alguns desses códigos).response.text()
?requests.compat.json.loads(resp_text)
Desde que você está usando
requests
, você deve usar ojson
método da resposta .Ele detecta automaticamente qual decodificador usar .
fonte
pip install requests
vez de usar o pacote deb.data
é uma lista de lista ou dicionário.data
reflete a estrutura do JSON que está lendo. Por exemplo, se a resposta é:[{"a": {...}}]
,data
é uma lista, comlist[0] == {'a': {...}}
. Se a resposta for{"a": "b", "c": "d"}
,data
é um ditado. Isso responde à sua pergunta?>>> import requests >>> r = requests.get('http://httpbin.org/get') >>> r.json <bound method Response.json of <Response [200]>> >>> r.json() {'args': {}, ...}