Python으로 JSON을 요청하고 처리하려면 어떻게해야합니까?


91

Python을 사용하여 JSON 형식으로 데이터를 반환하는 URL에 GET 요청을 보내려고합니다.

이 요청을에 보내는 http://someurl/path/to/json방법과 파싱하는 방법을 알고 싶습니다 . 가급적이면 python dict입니다.


2
수락 된 답변을 요청을 사용하는 답변으로 변경해 주시겠습니까?
webjunkie

물론, 그게 내가 :) 오늘을 할 거라고 방법
sa125

답변:


130

URL에 대한 요청 아무것도 들어 당신은 체크 아웃 할 수 있습니다 요청 . 특히 JSON의 경우 :

>>> import requests
>>> r = requests.get('https://github.com/timeline.json')
>>> r.json()
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...

1
그것을 실행하는 $ python GetJson.py 응답은 제공하지 않습니다 파이썬 CLI에 하나 하나를 실행할 때 작동 난에 넣어 않았지만 fine.any 실수를하지만 같은 일을 .py(파이썬에서 엄마 멍청한 놈)?
prayagupd

1
내가 가진 문제는 DjangoRestFramework serializer가 키 앞의 'u'접두사로 인해 이것을 유효한 json으로 받아들이지 않는다는 것입니다.
wobbily_col 2014 년

2
@PrayagUpd 오래된 것, 아마도 그것을 발견했을 것입니다.하지만 그것에 대해 궁금해하는 다른 사람들에게는 .py파일 print(r.json())에서 응답을 볼 필요가 있습니다.
안티 Haapala

73

Python의 표준 라이브러리에는 jsonurllib2모듈이 있습니다.

import json
import urllib2

data = json.load(urllib2.urlopen('http://someurl/path/to/json'))

21
이것은 오래된 질문이지만 webjunkie에 가입하고 2012 년에는 Requests : HTTP for Humans 라이브러리가 잠재적으로 바람직한 답변이라는 점을 지적하고 싶었습니다. docs.python-requests.org/en/latest
Peter Hanley

6
반드시 요청을 사용해야합니다.
hughdbrown

1
당신이 표준 라이브러리의 일부가 아닌로드 라이브러리에 하드를 만드는 무지 몽매 한 조직에 갇혀있다하지만 이것은 여전히 유용
Thruston
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.