開発・デバッグ支援
JSON → Python変換
JSONサンプルからPythonのdataclass定義を自動生成します。ネストしたObjectやArrayにも対応し、処理はブラウザ内で完結します。
入力データはサーバーへ送信されませんインストール不要無料で使えます
生成される型定義は、入力したサンプルJSONからの推論結果です。実際のAPI仕様(省略可能な項目・nullになり得る項目・数値の範囲など)を保証するものではありません。生成後は必要に応じて見直してください。
Pythonコード
JSONを入力して「生成」を押してください。
このツールでできること
JSON → Python変換の主な機能です。
- JSONサンプルからPythonのdataclassを自動生成できます
- キーが識別子として使えない場合はTypedDictへ自動で切り替わります元のJSONキーを保持します
- ネストしたObjectを個別のクラスとして分離できます
- Array・Object配列・型混在配列を推論できます
- 生成結果をワンクリックでコピーできます
手順を見る
- JSONを貼り付けます
- 必要に応じてルートクラス名を指定します既定は「Root」です
- 「生成」を押します
- 結果を確認し、「コピー」でクリップボードへコピーします
こんなときに使えます
こんな場面でJSON → Python変換が役立ちます。
利用シーンを見る
- FastAPI/FlaskでAPIレスポンスのモデルをすぐ用意したいとき
- 外部APIから取得したJSONをPythonの型ヒント付きコードで扱いたいとき
- キー名がPython識別子として使えないJSONでも安全に型定義を作りたいとき
詳しい解説
詳しい解説を見る
dataclass / TypedDictの切替
既定では@dataclass(kw_only=True)で出力します。JSONキーからPythonの属性名へ変換した結果が元のキーと一致しない場合(ハイフンを含む・予約語である等)は、そのクラスに限り元のキーを保持できる関数形式の TypedDict で出力します。
型推論のルール
JSONの値をstr・bool・int・float・クラス(またはTypedDict)・list[T]へ推論します。空配列・推論できない値は Any として出力します(根拠のない具体型を生成しません)。
よくある質問
dataclassではなくTypedDictで出力されることがあるのはなぜですか?
JSONキーをPythonの識別子へ変換できない場合(ハイフンを含む・予約語である等)、元のキー名を保持するためTypedDict形式に自動で切り替わります。また、本来省略可能なキーも型に「| None」を付けて表現するため、TypedDict形式では「キー自体は常に存在し値がNoneになりうる」という近似になります(dataclass形式では既定値によりキー自体を省略できます)。
対象のPythonバージョンは何ですか?
Python 3.10以降を前提としています(list[T]・T | None等の記法を使用します)。
入力したJSONはサーバーへ送信されますか?
いいえ。型生成処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。