開発・デバッグ支援

JSON → Python変換

JSONサンプルからPythonのdataclass定義を自動生成します。ネストしたObjectやArrayにも対応し、処理はブラウザ内で完結します。

入力データはサーバーへ送信されませんインストール不要無料で使えます
生成される型定義は、入力したサンプルJSONからの推論結果です。実際のAPI仕様(省略可能な項目・nullになり得る項目・数値の範囲など)を保証するものではありません。生成後は必要に応じて見直してください。

Pythonコード

JSONを入力して「生成」を押してください。

このツールでできること

JSON → Python変換の主な機能です。

  • JSONサンプルからPythonのdataclassを自動生成できます
  • キーが識別子として使えない場合はTypedDictへ自動で切り替わります元のJSONキーを保持します
  • ネストしたObjectを個別のクラスとして分離できます
  • Array・Object配列・型混在配列を推論できます
  • 生成結果をワンクリックでコピーできます

使い方

JSONからPython型定義を生成する手順を説明します。

手順を見る
  1. JSONを貼り付けます
  2. 必要に応じてルートクラス名を指定します既定は「Root」です
  3. 「生成」を押します
  4. 結果を確認し、「コピー」でクリップボードへコピーします

こんなときに使えます

こんな場面で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はサーバーへ送信されますか?

いいえ。型生成処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。