辞書形式で返した結果は Python 内では便利ですが、外部システムや Web API に渡すときは JSON形式 に変換するのが一般的です。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
# 関数を呼び出して辞書を取得
found_dict = search_values_dict()
# JSONに変換(インデント付きで見やすく)
json_data = json.dumps(found_dict, ensure_ascii=False, indent=2)
# 外部に渡す場合は json_data を送信
print(json_data)
Python出力例(抜粋)
{
"small": [
{"A": 1, "B": 1, "C": 1, "result": 1},
{"A": 1, "B": 1, "C": 3, "result": 3},
{"A": 1, "B": 3, "C": 3, "result": 9}
],
"medium": [
{"A": 3, "B": 3, "C": 5, "result": 45},
{"A": 5, "B": 3, "C": 3, "result": 45}
],
"large": [
{"A": 5, "B": 5, "C": 3, "result": 75},
{"A": 5, "B": 3, "C": 5, "result": 75}
]
}
解説ポイント
json.dumps()→ Python の辞書を JSON 文字列に変換。ensure_ascii=False→ 日本語を含む場合も文字化けせず出力。indent=2→ 見やすい整形出力。外部に渡すときは整形なしでもOK。- 外部渡し →
json_dataを API に送信したり、ファイル保存したりできる。
応用の場面
- Web API に検索結果を返す
- ログ保存 に JSON 形式で書き出す
- データ交換(他言語や他システムとのやり取り)
まとめ
- Python の辞書はそのままでは外部に渡せない → JSON に変換する
json.dumps()を使えば簡単に変換可能- 辞書形式で分類した結果を JSON にすれば、外部システムでも扱いやすい


