JSON から Python を生成

JSON 入力

1

生成された Python

Configuration

JSON データを入力して Python クラスを生成します

dataclass / Pydantic / type hint に対応

JSON を Python に変換する方法 – 手順ガイド

この JSON→Python 生成ツールを使って、サービス、スクリプト、データパイプライン向けに JSON サンプルから型付き dataclass/モデルを作成します。

  1. ステップ 1 – JSON サンプルを貼り付ける

    • 左側のエディターに代表的な JSON オブジェクトまたは配列を貼り付けます。
    • ネストしたオブジェクト、配列、null になり得るフィールドを含めて、型推論を正確にします。
    • Import を使ってファイル、URL、サンプルデータから JSON を読み込みます。
  2. ステップ 2 – Python モデルのオプションを選ぶ

    • 生成するモデルのルート Class Name を選びます。
    • オプションフィールド(Optional[str])と未知の値(Any)の表現を決めます。
    • ネストオブジェクトとリストが、ネスト dataclass と List[...] 型にマップされるか確認します。
  3. ステップ 3 – 生成されたコードを確認する

    • フィールド名、型、配列/オブジェクトの表現を確認します。
    • 利用可能なら Root Type Name、null の扱い、フレームワーク等のオプションを調整します。
    • 推論が違う場合は JSON サンプルを調整して再生成します。
  4. ステップ 4 – Python でモデルを使う

    • 生成したモデルをプロジェクトのモジュールにコピーします。
    • JSON を読み込み、モデルへマッピングします(手動またはヘルパー利用)。
    • 下流でのエラーを避けるため、境界(API/キュー/ファイル)で入力を検証します。
  5. ステップ 5 – コピーまたはダウンロード

    • 出力をプロジェクトにコピーするか、ファイルとしてダウンロードします。
    • フォーマッター/リンターを実行してコードスタイルを整えます。
    • 必要に応じて JSON の解析/シリアライズ用ライブラリを追加します。

クイックヒント

  • 軽量モデルと静的型付けには dataclasses を優先します。
  • 実行時の検証と型変換が必要なら pydantic を使います。
  • ドリフトを避けるため、ペイロードごとに正(canonical)となるスキーマ/モデルを 1 つにします。
出力例(簡略版)
# JSON 入力
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

# Generated Python models (simplified)
from dataclasses import dataclass
from typing import Any, List, Optional

@dataclass
class Metadata:
  plan: str

@dataclass
class Root:
  id: int
  name: str
  email: Optional[str]
  active: bool
  roles: List[str]
  metadata: Metadata
  createdAt: str
  score: float
  notes: Any

関連する JSON & Python ツール

この JSON→Python 生成ツールと相性の良い JSON/スキーマ関連ツールもチェックしてください。

よくある質問

どのような Python 機能に対応していますか?

Python の dataclass、Pydantic モデル、TypedDict を type hint 付きで生成し、オプションフィールドにも対応します。Python の命名規則に沿った出力です。

type hint はどのように扱われますか?

typing モジュール(List、Optional、Dict など)を用いた完全な type hint を付与し、JSON 型を適切な Python 型にマップします。

Pydantic に対応していますか?

はい。Pydantic を選択すると、ランタイム検証付きの BaseModel を生成できます。

null 値はどう扱われますか?

JSON の null は Optional[...] にマップされ、必要に応じて default None を付与します。

JSON から Python を生成 | JSONSwiss