Python Class → JSON Schema 生成

Python コード 入力

エディターを読み込み中…

JSON Schema 出力

設定

JSON Schema の root として使う class/dataclass/BaseModel を選択します。

解析はブラウザー内で完結します。ソースコードが外部に送信されることはありません。

Python の class を貼り付けて JSON Schema を即生成。

dataclass、BaseModel、enum、TypedDict、モダンな型ヒント構文に対応します。

Python の dataclass / Pydantic / TypedDict を JSON Schema に変換する方法 – ステップガイド

このオンライン Python class → JSON Schema 変換ツールは、実際のモデル(DTO、struct、class)から JSON Schema を生成し、payload の検証、コントラクト共有、モック JSON 生成に役立ちます。

  1. ステップ 1 – Python のソースを貼り付ける

    • ドキュメント化したいモデルを左側のエディターに貼り付けます。
    • 参照される型も同じスニペットに含めると、definitions を生成できます。
    • サンプル ボタンで例を読み込み、入力フォーマットを確認できます。
  2. ステップ 2 – ルートモデル を選択する(必要な場合)

    • 複数の定義が検出された場合は、API payload に対応する root を選択します。
    • 出力スキーマは選択した root を中心に構築され、参照される型の定義を含むことがあります。
  3. ステップ 3 – JSON Schema 出力を確認する

    • 型、必須/任意フィールド、ネストした object/array 構造を確認します。
    • モデルが他のモデルを参照している場合は、 definitions $ref を確認してください。
    • スキーマをコピーまたはダウンロードして、検証/ドキュメント化/schema‑first 開発に利用します。
  4. ステップ 4 – 検証またはモック JSON を生成する

    • モックデータ生成 」をクリックすると、スキーマを読み込んだ状態でモック生成ツールを開けます。
    • 実 payload をスキーマで検証し、破壊的変更を早期に検出します。
    • 高度な schema 合成(例: anyOf/oneOf/allOf)を使う場合は、Ajv などのフルバリデータで結果を確認してください。

スキーマ keyword 対応に関する注意

生成されたスキーマには $ref が含まれることがあり、編集して anyOf, oneOf, または allOfを追加できます。 複雑なスキーマの場合は、フル機能の JSON Schema バリデータを使い、必要に応じてモック生成前に dereference してください。

関連する JSON Schema/コード生成ツール

スキーマの検証、モック payload の生成、JSON 例の整形、コードとコントラクトの同期に役立つツールです。

よくある質問

どの Python 構造に対応していますか?

通常の class、dataclass、Pydantic BaseModel、TypedDict 定義に対応します。フィールド注釈、既定値、Optional/Union、Literal、Enum サブクラスを読み取り、コードをアップロードせずに精度の高い JSON Schema を生成します。

Python の型判定はどのように動作しますか?

list[str]、dict[str, Any]、Optional[int]、tuple[float, float]、カスタム class/enum などの型ヒントを、JSON Schema のプリミティブ/配列/オブジェクト/参照に自動マッピングします。注釈が無い場合は既定値から単純推論しつつ警告を出すため、調整すべき箇所が分かります。

Python のバージョンやフレームワークが違っても使えますか?

はい。PEP 585 のジェネリック型、PEP 604 の union(str | None)、@dataclass(frozen=True) や @validator のようなデコレータを含むモダン構文に対応します。typing.Optional/typing.List のような古いヒントも扱えるため、Python 3.7+ のコードはそのまま利用できます。

スキーマからモック JSON を作るには?

スキーマ生成後に「モックデータ生成」をクリックすると、スキーマを読み込んだ状態で Mock Generator を開けます。ロケール、配列数、任意フィールドを調整し、ドキュメントやテストに使えるサンプル payload をすぐに生成できます。

Python Class → JSON Schema 生成 | JSONSwiss