ファイルにリスト出力に複数のAPIリクエストからAPIからJSONファイルPythonの3 - 解析JSON私は...</p> <p>1)のPython 3でのAPIのクエリからの解析JSONオブジェクト</p> <p>2)複数のリクエストを解析するにはどうすればよい
0
A
答えて
5
は、私はすべてのAPIプログラミングにrequests
を使用して好みます。ここではいくつかのAPI呼び出しの結果をフェッチワンライナーは、リストでそれらを置き、そしてJSONファイルにリストと書いている:
json.dump([requests.get(url).json() for url in URLs], fp)
ここでは、完全なテストプログラムです:
import requests
import json
URLs = [
# Some URLs that return JSON objects
'http://httpbin.org/ip',
'http://httpbin.org/user-agent',
'http://httpbin.org/headers'
]
with open('result.json', 'w') as fp:
json.dump([requests.get(url).json() for url in URLs], fp, indent=2)
何らかの理由でrequests
にアレルギーがある方は、標準のライブラリのみを使用して、同等のPython3コードを入力してください。
from urllib.request import urlopen
import json
URLs = [
# Some URLs that return JSON objects
'http://httpbin.org/ip',
'http://httpbin.org/user-agent',
'http://httpbin.org/headers'
]
json_list = []
for url in URLs:
resp = urlopen(url)
resp = resp.read().decode(resp.headers.get_content_charset() or 'ascii')
json_list.append(json.loads(resp))
with open('result.json', 'w') as fp:
json.dump(json_list, fp, indent=2)
-1
1A)解析JSONにリスト、及び
3)出力リストに(パイソン2)
Python 2では、JSON解析を実装する方が簡単でした:
import urllib2
json_data = urllib2.urlopen(url)
data = json.load(json_data) # load() from file
APIから1b)の解析JSON(Pythonの3)
のPython 3 urllib2のを落とし、代わりに、urllibはのための新しい標準に移動:
import urllib.request
json_data = urllib.request.urlopen(url)
データは、この関数から返さができます」以前と同じ方法で処理されます。タイプは 'HTTPResponse'なので、最初にそれを読み込んでデコードする必要があります。
これで文字列を取得できました。これで、loads()関数を使用して有効なJSON辞書に処理できます。
json_dict = json.loads(str_json_data) # loads() from string
json.load()関数とjson.loads()関数の違いに注目してください。
。
2)追加の
data.append(json_dict)
通常通りリストに
リストに複数の要求を解析します。
file = open("file.json", "w")
file.write(json.dumps(data))
file.close()
を提出する
3)出力あなたは、目的のフォーマットにインデントを追加することができます。
file.write(json.dumps(data, indent=4, sort_keys=True)
関連する問題
- 1. -JSONValueは<strong>JSON</strong>解析のための
- 2. json pythonの解析
- 3. PythonのInstagram api JSONレスポンスの解析
- 4. PythonのExpat解析3
- 5. PythonでSalesforce JSONオブジェクトを解析する
- 6. Python 3 JSON APIを取得して解析する
- 7. pythonのjsonフィールドを解析する
- 8. 解析JSON POSTリクエストのC#
- 9. PGTとPGTIOUの保存CASが生成する
- 10. jsonの '<>'値の解析と文字列化
- 11. 解析JSONは
- 12. 我々は<code>JSON.parse</code>は文字列化<code>JSON</code>を解析し、知っているように引数はJSON形式
- 13. 解析エラーViewMasterPage <TModel>
- 14. 解析は、JSON
- 15. 解析JSONは
- 16. 解析前の2つのJSONオブジェクトのJSON構造ですか?
- 17. jsonオブジェクトを解析する
- 18. Lotus-1-2-3(wk1)ファイルの解析ガイドライン
- 19. これらのJSON文字列を解析するには?私はそれらを解析するgsonを使用しようとしている <a href="http://pastebin.com/ckUZadwL" rel="nofollow">http://pastebin.com/ckUZadwL</a></p> <p>:
- 20. WindowsコマンドラインでJSONファイルを変数に解析するには?</p> <pre><code>{ "test":true, "limit": { "min":0.5, "max":1.5 } } </code></pre> <p>私は、Windowsのコマンドラインでこのファイルを読み込み、変数として解析され、これらのオブジェクトを持つことができるようにしたい:
- 21. JSONの解析エラー?
- 22. PHPでのJSON POSTリクエストの解析
- 23. 解析JSONジャンゴ
- 24. フォールトトレランスのJSON解析
- 25. JSONエラーの解析
- 26. JSONの解析+ iphone
- 27. JSONレスポンスの解析
- 28. 解析JSONのiOS
- 29. JSONの解析(JavaScript)
- 30. 解析JSONデータ
私の答えは、基本言語を使用したソリューションを取り上げていました。私はPython初心者のように外部パッケージをインストールしないようにしたいと思っていました。つまり、これはプロセスを単純化します。ありがとう! – sookie
私のアドバイス:常に 'requests'を使用してください。 [urllibのドキュメント](https://docs.python.org/3/library/urllib.request.html#module-urllib.request)でもそれをお勧めします!しかし、私の最近の編集を参照して、標準ライブラリのみの代替。 –
アドバイスと編集が大変感謝しています – sookie