JSON形式のデータはシステム間のデータ連携などで利用されるデータ形式です。
この記事では、PythonでJSONファイルの読込みとデータへのアクセス方法を
解説します。
JSONファイル
次のJSONファイルを使用します。
{
"Person": [
{
"ID": "001",
"Name": "tanaka",
"Age": 20
},
{
"ID": "002",
"Name": "suzuki",
"Age": 50
}
]
}
JSONファイルの読込み
ライブラリの読込み
jsonファイルを読込むために『json』をインポートします。
import json
読込み
jsonファイルを開いて、『json.load』でjsonファイルの読込みをします。
with open('sample.json') as f:
data = json.load(f)
データの出力
jsonファイルのデータをすべて出力します。
print(data)
コード全体
import json
with open('sample.json') as f:
data = json.load(f)
print(data)
# 実行結果
# {'Person': [{'ID': '001', 'Name': 'tanaka', 'Age': 20}, {'ID': '002', 'Name': 'suzuki', 'Age': 50}]}
データへのアクセス
上記で読込んだjsonデータにアクセスします。
データを取得する
データを取得するには『Key』を指定します。
import json
with open('sample.json') as f:
data = json.load(f)
print(data['Person'])
# 実行結果
# [{'ID': '001', 'Name': 'tanaka', 'Age': 20}, {'ID': '002', 'Name': 'suzuki', 'Age': 50}]
配列データの場合は要素番号を指定して取得が可能です。
import json
with open('sample.json') as f:
data = json.load(f)
print(data['Person'][0])
# 実行結果
# {'ID': '001', 'Name': 'tanaka', 'Age': 20}
ループさせて値を取得する
ループさせて各データを取得するには次のようになります。
import json
with open('sample.json') as f:
data = json.load(f)
for person in data['Person']:
print(f'{person["ID"]}')
print(f'{person["Name"]}')
print(f'{person["Age"]}')
# 実行結果
# 001
# tanaka
# 20
# 002
# suzuki
# 50