파이썬 requests
모듈 을 사용하여 RESTful GET을 서버로 보내 JSON에 대한 응답을 얻습니다. JSON 응답은 기본적으로 목록 목록 일뿐입니다.
네이티브 파이썬 객체에 대한 응답을 강요하여 반복하거나 인쇄하여 인쇄 할 수있는 가장 좋은 방법은 무엇입니까 pprint
?
파이썬 requests
모듈 을 사용하여 RESTful GET을 서버로 보내 JSON에 대한 응답을 얻습니다. JSON 응답은 기본적으로 목록 목록 일뿐입니다.
네이티브 파이썬 객체에 대한 응답을 강요하여 반복하거나 인쇄하여 인쇄 할 수있는 가장 좋은 방법은 무엇입니까 pprint
?
답변:
당신은 사용할 수 있습니다 json.loads
:
import json
import requests
response = requests.get(...)
json_data = json.loads(response.text)
이를 통해 주어진 문자열을 코드로 쉽게 JSON 데이터에 액세스 할 수있는 사전으로 변환합니다.
또는 @Martijn의 유용한 제안 및 더 높은 투표 답변을 사용할 수 있습니다 response.json()
.
str()
. 다른 한편으로, 유니 코드 데이터는 (미래에 대비하여) 가지고있는 것이 나쁘지 않습니다.
response.json()
수행하므로 훨씬 사용하는 것이 훨씬 좋습니다 . (면책 조항, 그 코드 중 일부를 썼습니다).
response.text()
?
requests.compat.json.loads(resp_text)
를 requests
사용하고 있으므로 응답 json
방법을 사용해야합니다 .
import requests
response = requests.get(...)
data = response.json()
그것은 사용하는 디코더를 자동 감지 .
pip install requests
deb 패키지 대신에 사용할 수 있습니다 .
data
목록이나 사전 목록 인지 궁금합니다 .
data
는 읽고있는 JSON의 구조를 반영합니다. 예를 들어, 응답이 다음 [{"a": {...}}]
과 같은 경우 data
는입니다 list[0] == {'a': {...}}
. 응답이 {"a": "b", "c": "d"}
이면 data
dict입니다. 그 질문에 대답합니까?
>>> import requests >>> r = requests.get('http://httpbin.org/get') >>> r.json <bound method Response.json of <Response [200]>> >>> r.json() {'args': {}, ...}