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 も何の応答もありませんが、Python CLIで1つずつ実行した場合と同じことが正常に機能し.pyます。?(pythonでma noob)に入れているときに私が犯した間違い
祈りの

1
これに関して私が抱えている問題は、DjangoRestFrameworkシリアライザーがこれを有効なjsonとして受け入れないことです。これは、キーの前に「u」プレフィックスがあるためです。
wobbily_col 2014

2
@PrayagUpd古いもの、そしてあなたはおそらくそれを見つけましたが、それについて疑問に思っている他の人にとっては:.pyファイル内でprint(r.json())応答を確認する必要があります。
Antti Haapala 2015

73

Pythonの標準ライブラリにはjsonおよびurllib2モジュールがあります。

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 2013年

1
しかし、これは、標準ライブラリの一部ではないライブラリをロードするのが難しい夜の組織に行き詰まっている場合にも役立ちます
Thruston
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.