Python

PythonでJSONファイルを扱う

オープンデータなどで利用されるJSONファイルをPythonの標準モジュールjsonで、扱ってみます。公式のドキュメントはこちらから。

{
    "data":{
        "item1":{
            "name":"Pencil",
            "detail":{
                "price":100
            }
        },
        "item2":{
            "name":"Eraser",
            "detail":{
                "price":100
            }
        }
    }
}

JSONの読み込み:ファイルを開き、子要素、属性へアクセスする

import json

f = open('data.json', 'r', encoding="utf-8")
json_data= json.load(f)

print(json_data)
print(json_data["data"]["item1"])

# 出力
# {'data': {'item1': {'name': 'Pencil', 'detail': {'price': 100}}, 'item2': {'name': 'Eraser', 'detail': {'price': 100}}}}
# {'name': 'Pencil', 'detail': {'price': 100}}

JSONの書き出し:要素を追加してファイルを保存する

import json

f = open('data.json', 'r', encoding="utf-8")
json_data = json.load(f)

json_data["data"]["item3"] = {"name": "paper" , "detail": {"price": 200} }

f = open('output.json', 'w')
json.dump(json_data, f)
{
    "data":{
        "item1":{
            "name":"Pencil",
            "detail":{
                "price":100
            }
        },
        "item2":{
            "name":"Eraser",
            "detail":{
                "price":100
            }
        },
        "item3":{
            "name":"paper",
            "detail":{
                "price":200
            }
        }
    }
}