Python | 応用例:「辞書形式で返した結果を JSON に変換して外部に渡す」

Python Python
スポンサーリンク

辞書形式で返した結果は 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 にすれば、外部システムでも扱いやすい
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました