ファイルにリスト出力に複数の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. Gson-解析ArrayListにJSONオブジェクトのJSON配列<org.json.JSONObject>
- 4. Swift 3でのJSON解析?
- 5. Python JSON APIからの解析
- 6. 解析JSONと<strong>RESTのAPI</strong>出力から
- 7. 解析JSONスウィフト3
- 8. JSON解析のIonic 3エラー
- 9. PGTとPGTIOUの保存CASが生成する
- 10. Pythonのjson値の解析
- 11. 私は<code>for</code>使用して解析するPythonの
- 12. 解析XML <CDATA [----]]
- 13. 解析が<!-- -->
- 14. ベストプラクティス - XML APIレスポンスの解析 - Pythonの3
- 15. PythonのExpat解析3
- 16. PythonのInstagram api JSONレスポンスの解析
- 17. Python 3の解析WebからのPDF
- 18. PythonのJsonライブラリStringIO解析?
- 19. データの解析JSONとPython
- 20. jsonファイルの解析 - Python
- 21. Pythonリストの理解とJSONの解析
- 22. スウィフトでJSON解析3
- 23. 構文解析JSON 3
- 24. PythonでSalesforce JSONオブジェクトを解析する
- 25. PythonのAPIレスポンスからjsonデータを解析する方法は?
- 26. Python 3 JSON APIを取得して解析する
- 27. 解析複数のJSONオブジェクトのみ
- 28. swift APIリクエストとJSON解析
- 29. Swift 3 JSON解析例外
- 30. JSONの解析とオプションのSwift 3
私の答えは、基本言語を使用したソリューションを取り上げていました。私はPython初心者のように外部パッケージをインストールしないようにしたいと思っていました。つまり、これはプロセスを単純化します。ありがとう! – sookie
私のアドバイス:常に 'requests'を使用してください。 [urllibのドキュメント](https://docs.python.org/3/library/urllib.request.html#module-urllib.request)でもそれをお勧めします!しかし、私の最近の編集を参照して、標準ライブラリのみの代替。 –
アドバイスと編集が大変感謝しています – sookie