JSON から Python

JSON から Python の dataclass、Pydantic モデル、TypedDict を生成

JSON 入力

オプション

モデル

Python 出力

JSON を貼り付けるか例を読み込むと、Python のコードを生成します。

JSON to Python が生成するもの

JSON to Python は API レスポンスや任意の JSON サンプルを Python の型定義に変換します。Root(**data) では入れ子の dataclass を構築できず、名前を変えたキーもマッピングされないため、Dataclass モードでは @dataclass クラスに加えて from_dict クラスメソッドを出力します。Pydantic v2 モードでは BaseModel クラスを出力し、名前が変わる箇所にのみ Field(alias="original-key") と populate_by_name を追加します。TypedDict モードでは JSON のキーをそのまま保ち、有効な識別子でないキーがある場合は関数形式の TypedDict("Name", {...}) 構文に切り替えます。

使い方
  1. 1.JSON を貼り付けるか、.json ファイルをアップロードまたはドロップするか、例を読み込みます。
  2. 2.ルート型名を設定します。JSON のルートがオブジェクトの配列の場合、この名前は要素の型に使われ、RootList がエイリアスとして追加されます。
  3. 3.Dataclass、Pydantic v2、TypedDict のいずれかを選び、属性を snake_case にするかどうかを決めます。
  4. 4.出力の下の注意を読んでから、コードをコピーするか models.py をダウンロードします。
型の推論方法
  • •最初の要素だけでなく配列のすべての要素を確認し、同じ配列内のオブジェクトは統合します。
  • •一部のオブジェクトにないキーは省略可能、ときどき null になるキーは null 許容になります。この 2 つは区別して扱います。
  • •同じ位置にある 1 と 2.5 は小数に拡張され、それ以外の混在は報告されます。
  • •空の配列や常に null の値には型の手がかりがないため、汎用的な型を使用し、その理由を注意で説明します。
  • •型の対応:string → str、整数 → int、小数 → float、真偽値 → bool、配列 → list[T]、オブジェクト → 入れ子のクラス、不明 → Any、null あり → T | None。
  • •予約語は class_ になり、数字で始まるキーには field_ 接頭辞が付き、名前が衝突する場合は _2 が付きます。
制限とプライバシー

サンプルはある時点でのデータの形を示すだけで、API の完全な仕様ではありません。コードを使う前に、省略可能なフィールド、汎用的な型、数値の幅を確認してください。入力は 5 MB、入れ子 256 階層までです。2 MB 以上の場合は「生成」ボタンを押すまで生成されません。処理はすべてブラウザー内で行われ、JSON がアップロードされることはありません。生成されるコードは Python 3.10 以降の共用体構文を使用します。NotRequired を使う TypedDict モードには Python 3.11 または typing_extensions が必要です。

CodingToolが正式に公開されました

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch