PythonでAPIから取得したJSONデータをパースする方法について説明します。Pythonのjson
モジュールを使用して、JSONデータをPythonの辞書型に変換し、そのデータを操作する方法を学びます。
JSONデータの読み込み
PythonでJSONデータをパースするには、まずJSONデータを辞書型として読み込む必要があります。JSONデータを読み込む方法は大きく分けて2種類あります。
- JSONファイルから読み込む: JSONファイルとして保存されているデータを読み込む方法です。データの読み込みには
json
モジュールのload
関数を使います。
import json
f = open('test.json', 'r')
json_dict = json.load(f)
print('json_dict:{}'.format(type(json_dict)))
- JSON文字列を辞書型に変換する: JSONデータを読み込むには、JSON形式の文字列を辞書型に変換する方法もあります。JSON形式の文字列の変換には
json
モジュールのloads
関数を使います。
import json
json_str = ''' { "test":"json", "test2":"json2" } '''
json_dict = json.loads(json_str)
print('json_dict:{}'.format(type(json_dict)))
必要なデータを取り出す
JSONの読み込みが完了したら、いよいよJSONデータを解析していきます。JSONデータを解析する際には、JSONデータから必要なデータを取り出す必要がありますが、実はPythonではJSONは辞書型で扱われるので、辞書型と同じ扱いをすることができます。
import json
f = open('test.json', 'r')
json_dict = json.load(f)
print('book1の情報:{}'.format(json_dict['book1']))
print('book3のページ数:{}'.format(json_dict['book3']['page']))
この例では、通常の辞書型のようにキーを指定して値を取り出しています。また、辞書型のメソッドを使ったり、for文でイテレートすることもできるので、好きなようにデータを取り出す事が出来ます。
以上がPythonでAPIから取得したJSONデータをパースする基本的な方法です。これをマスターすることで、様々なWebサービスのAPIを活用することが可能になります。