JSON → Python Dataclass
JSONから即座にPython dataclassを生成。@dataclass・Pydantic v2 BaseModel・TypedDictに対応。ネストオブジェクト・配列・オプショナルフィールド処理。無料、ブラウザ完結。
使い方
- 左のパネルにJSONを貼り付けるか入力します。ツールがリアルタイムで検証します。
- 必要に応じてルートクラス名を設定します(デフォルト:
Root)。 - 出力モードを選択:@dataclass、Pydantic v2、またはTypedDict。
- Python を生成をクリックするか、リアルタイム変換を待ちます。
- コピーで出力をコピー、または.py ダウンロードでファイルとして保存します。
型マッピング
null→Optional[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に変換した名前の独立したクラスとして抽出されます。子クラスは常に親クラスの前に定義されるので、出力はすぐに使用できます。
データはサーバーに送信されますか?
いいえ。変換はすべてブラウザ上で実行されます。データはお使いのマシン外に出ることはありません。