辞書やリストを JSON形式 に変換してファイルに保存しておくと、後でプログラムから再利用できます。これは データの永続化 に役立ちます。
サンプルコード
import json
def search_values_dict():
results = {
"small": [],
"medium": [],
"large": []
}
for A in range(1, 6):
for B in range(1, 6):
for C in range(1, 6):
result = A * B * C
if result % 2 == 0: # 偶数はスキップ
continue
if result < 30:
results["small"].append({"A": A, "B": B, "C": C, "result": result})
elif result < 50:
results["medium"].append({"A": A, "B": B, "C": C, "result": result})
else:
results["large"].append({"A": A, "B": B, "C": C, "result": result})
return results
# --- 保存処理 ---
data = search_values_dict()
with open("results.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
print("JSONファイルに保存しました!")
# --- 読み込み処理 ---
with open("results.json", "r", encoding="utf-8") as f:
loaded_data = json.load(f)
print("JSONファイルから読み込みました!")
print(loaded_data["medium"]) # mediumカテゴリのデータを表示
Python実行結果(抜粋)
JSONファイルに保存しました!
JSONファイルから読み込みました!
[{'A': 3, 'B': 3, 'C': 5, 'result': 45}, {'A': 5, 'B': 3, 'C': 3, 'result': 45}]
解説ポイント
- 保存 (
json.dump)with open("results.json", "w")→ 書き込みモードでファイルを開くjson.dump(data, f, ensure_ascii=False, indent=2)→ 辞書を JSON 形式で保存
- 読み込み (
json.load)with open("results.json", "r")→ 読み込みモードでファイルを開くjson.load(f)→ JSON を Python の辞書に戻す
- メリット
- プログラムを終了してもデータを保持できる
- 他のプログラムや言語でも読み込める
応用の場面
- 設定ファイル を JSON で保存して再利用
- 検索結果やログ を JSON に保存して後で分析
- Web API から取得したデータを保存してオフラインで利用
まとめ
- JSON は「保存して再利用」するのに最適な形式
json.dump→ 保存json.load→ 読み込み- 辞書やリストをそのまま外部ファイルに出せるので、データ交換や永続化に便利

