Python

【Python】JSONファイルの読込みとデータへのアクセス方法

JSONファイルの読込みとデータアクセス方法

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