JSONとdict型相互変換(Python)
Python上でのJSON操作のTips
あまりにも使う頻度が高いのでQiitaにも書いた。
JSONからdict型へ
.jsonファイルから読み込んでdict(辞書)型変数に変換
code:read_json_file.py
import json
dir = "読み込み先ファイルパス"
encoding = "utf-8" # 読み込むファイルのエンコードによって適宜変える。
with open(dir, mode="rt", encoding="utf-8") as f:
data = json.load(f) # JSONのファイル内容をdictに変換する。
JSON形式の文字列からdict型変数に変換
code:read_json_str.py
import json
s = '{"name":"太郎", "value": 100}' # 読み込む文字列
data = json.loads(s) # sをdictに変換
dict型からJSONへ
dict型変数からJSONに変換して保存
code:write_json_file.py
import json
dir = "書き込み先ファイルパス"
data = {"name":"太郎", "value": 100} # 任意のdict型変数
with open(dir, mode="wt", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
ensure_asciiの値をFalseにしないと、asciiにある文字以外はエンコードされてしまう。
indentの値は任意で。
2とすると半角スペース2個でインデントする。
dict型変数からJSON形式の文字列に変換
code:write_json_str.py
import json
data = {"name":"太郎", "value": 100} # 任意のdict型変数
s = json.dumps(data, ensure_ascii=False, indent=2) # JSON形式の文字列に変換
参考
【Python】JSONの読書き|dump、dumpsの違い | なしブロ
【Python入門】JSON形式データの扱い方 - Qiita
#JSON #Python