JSON → Python Dataclass

JSONから即座にPython dataclassを生成。@dataclass・Pydantic v2 BaseModel・TypedDictに対応。ネストオブジェクト・配列・オプショナルフィールド処理。無料、ブラウザ完結。

100% クライアントサイド データはブラウザ外に出ません 無料 · 登録不要
モード
JSON 入力
Python 出力

使い方

  1. 左のパネルにJSONを貼り付けるか入力します。ツールがリアルタイムで検証します。
  2. 必要に応じてルートクラス名を設定します(デフォルト:Root)。
  3. 出力モードを選択:@dataclassPydantic v2、またはTypedDict
  4. Python を生成をクリックするか、リアルタイム変換を待ちます。
  5. コピーで出力をコピー、または.py ダウンロードでファイルとして保存します。

型マッピング

  • nullOptional[Any] = None
  • 文字列 → str
  • 整数 → int
  • 浮動小数点数 → float
  • 真偽値 → bool
  • 配列 → List[T]
  • 混合配列 → List[Union[T1, T2]]
  • ネストオブジェクト → 別クラス

このJSONが与えられた場合:

{"user": {"first_name": "Alice", "age": 30}, "tags": ["admin"], "note": null}

@dataclassモードで生成されるコード:

from dataclasses import dataclass
from typing import Any, List, Optional

@dataclass
class User:
    first_name: str
    age: int

@dataclass
class Root:
    user: User
    tags: List[str]
    note: Optional[Any] = None

FAQ

このツールは何を生成しますか?

JSONからPythonクラス定義を生成します。標準の@dataclass(stdlib)、Pydantic v2 BaseModel、またはTypedDictから選択できます。各ネストオブジェクトは独自の名前付きクラスになります。

対応している出力モードは?

3つのモード:@dataclass(Python stdlib、デフォルト)、Pydantic v2 BaseModel、TypedDict(Python 3.8+)。

JSONの型はPythonの型にどのようにマッピングされますか?

string→str、integer→int、float→float、boolean→bool、null→Optional[Any]、array→List[T]、ネストオブジェクト→別クラス。

フィールドはいつOptionalになりますか?

JSONサンプルでフィールドの値がnullの場合、または配列オブジェクトのマージ時に一部のオブジェクトにフィールドが存在しない場合、そのフィールドはOptional[T] = Noneとしてマークされます。

ネストオブジェクトはどのように処理されますか?

各ネストオブジェクトは、フィールドキーをPascalCaseに変換した名前の独立したクラスとして抽出されます。子クラスは常に親クラスの前に定義されるので、出力はすぐに使用できます。

データはサーバーに送信されますか?

いいえ。変換はすべてブラウザ上で実行されます。データはお使いのマシン外に出ることはありません。