よく使うのによく忘れるのでまとめておく。
試したPythonのバージョンは「Python 3.8.7」
目次
JSONファイルの読み込み
こんなJSONを読み込んでみる。
{
"data1": 1,
"data2": "test",
"data3": [1,2,3],
"data4":{
"data4_1": true,
"data4_2": null,
"data4_3": "あいうえお"
}
}
JSONデータはdictionary形式で読み込まれる。
「UnicodeDecodeError」がでたらopenの引数に「encoding=’utf-8’」を指定してみる。
import json
# JSONファイルを読み込む
with open('test.json', 'r', encoding='utf-8') as f:
dic_json = json.load(f)
# 読み込んだJSONデータを画面に出力
print(dic_json['data1'])
print(dic_json['data2'])
print(dic_json['data3'])
print(dic_json['data4'])
print(dic_json['data4']['data4_1'])
print(dic_json['data4']['data4_2'])
print(dic_json['data4']['data4_3'])
JSONファイルの書き込み
dictionaryに出力したいデータを詰め込んでjson.dumpする。
日本語が含まれる場合はensure_asciiをFalseにする。
indentにはインデントするときに半角スペースを何個入れるかを指定できる。
import json
# JSONに出力したいデータをdictionaryで用意
dic_json = {
"data1": 1,
"data2": "test",
"data3": [1,2,3],
"data4":{
"data4_1": True,
"data4_2": None,
"data4_3": "あいうえお"
}
}
# JSONファイルを書き込む
with open('test2.json', 'w', encoding='utf-8') as f:
json.dump(dic_json, f, indent=4, ensure_ascii=False)
こんなのが出力される。
{
"data1": 1,
"data2": "test",
"data3": [
1,
2,
3
],
"data4": {
"data4_1": true,
"data4_2": null,
"data4_3": "あいうえお"
}
}
コメント