JSON to Pydantic モデル生成

JSONサンプルからPydantic v2のモデルクラスをブラウザ内で即座に生成。JSONは端末上に留まります。

JSONはすべてブラウザ内で解析・Pydanticモデルに変換されるため、端末上に留まり、サーバーへ何もアップロードされません。

Go・Rust・TypeScriptの型が必要ですか?JSON to Codeをお試しください。

JSON to Pydantic について

このJSON to Pydanticジェネレーターは、サンプルのJSONオブジェクトや配列を、すぐに使えるPydantic v2のモデルクラスに数秒で変換します。実際のAPIレスポンスを貼り付けると、各フィールド型(str・int・float・bool)を推論し、null許容のフィールドを Optional とマークし、配列を list[...] 型に統一し、すべてのネストオブジェクトを名前で参照される独自の BaseModel に昇格させます。有効なPython識別子でないキーは Field(alias=...) で保持されるため、モデルは元のペイロードをそのまま解析できます。型付きクライアントを組む際に手書きするより、JSONからPydanticモデルを生成したいPythonやFastAPIの開発者のために作られています。すべてはブラウザ内でローカルに動作するため、貼り付けたJSONは端末上で処理され、サーバーへ何もアップロードされません。

機能

JSON to Pydantic の使い方

  1. JSONオブジェクトまたは配列を入力ボックスに貼り付けます。
  2. ルートモデル名をスキーマに合わせて設定するか、Modelのままにします。
  3. 出力パネルで生成されたPydanticクラスを確認します。
  4. 結果をコピーするか .py ファイルとしてダウンロードします。

入力

{ "id": 1, "name": "Ada", "address": { "city": "London" } }

出力

from pydantic import BaseModel


class Address(BaseModel):
    city: str


class Model(BaseModel):
    id: int
    name: str
    address: Address

ネストしたオブジェクトが独自の BaseModel になり、ルートクラスは最後に置かれます。

よくあるエラーとトラブルシューティング

よくある質問

Pydantic v2のモデルを生成しますか。
はい。出力はPydantic v2の構文を対象とします。各モデルは BaseModel を継承するクラスで、アノテーション付きのフィールドを持ち、JSONキーが有効なPython識別子でない場合は Field(alias=...) を使います。
ネストしたオブジェクトはどう扱われますか。
各ネストオブジェクトは、所有するキーからパスカルケースで名付けられた独自の BaseModel クラスになり、親はそれを型で参照します。クラスは依存順に出力され、ルートモデルが最後になります。
JSON型はどのようにPython型に対応づけられますか。
文字列は str、整数は int、小数は float、真偽値は bool になり、null は Optional を生成し、配列は要素型を統一した list[...] に、オブジェクトはネストした BaseModel になります。
有効なPython名でないキーはどうなりますか。
first-name や 2fa のようなキー、あるいは class のような予約語は、安全なスネークケースの属性で公開され、元のキーは Field(alias="...") で保持されるため、モデルはペイロードをそのまま解析できます。
配列や空の配列はどう変換されますか。
配列は要素を統一した型で list[...] になり、オブジェクトの配列にはネストした BaseModel を使います。空の配列は推論できる要素型がないため list[Any] になります。
Pydanticモデルを生成するとき、JSONはどこかに送信されますか。
いいえ。JSON to Pydanticの変換は完全にブラウザ内で動作するため、貼り付けたデータはローカルで処理され、端末から外に出ることはありません。

関連ツール

すべての ArrayKit ツール