JSONをPythonに変換
JSONをPython POJOクラスに変換してPython開発用に
JSON入力
Python出力
JSONをPythonとは?
APIを呼び出してJSONレスポンスを取得し、response["data"]["user"]["email"]のようにアクセスしている — オートコンプリートもなく、型チェックもなく、タイポ一つでKeyErrorになります。json.loads()はdictを返しますが、ちょっとしたスクリプトならそれで十分。でも本格的なアプリケーションコードには、型付きdataclassやPydanticモデルの方がずっと便利です。このツールはJSONから直接Pythonクラスを生成します — 貼り付けて、構造化されたPythonコードを取得してプロジェクトにコピーするだけです。
このツールはJSONからPythonクラス定義を生成します。設定パネルでDataclass、Typing、Nullableを切り替えてください。Dataclass(Python 3.7+)は__init__、__repr__、等価性を無料で提供します。Pydantic検証用に出力を適応できます。
変換は完全にブラウザで実行されます。JSONはサーバーに送信されません。ブラウザのネットワークタブで確認できます。
使い方
JSONを貼り付けまたはアップロード
JSONを左のエディタに貼り付けるか、アップロードで.jsonまたは.txtを読み込んでください。サンプルで例データを読み込めます。設定パネルでクラス名(例:User)とオプション(Dataclass、Typing、Nullable)を設定してください。
生成されたクラスを確認
右パネルに生成されたPythonコードが表示されます。ネストオブジェクトはネストクラスに。配列はtypingモジュールのList[Type]になります。無効なJSONの場合は先にJSONフォーマッターまたはJSONバリデーターで修正してください。
コピーまたはダウンロード
コピーでクリップボードに、ダウンロードで.pyファイルとして保存できます。Pydantic検証にはPydanticを検討してください。
JSONをPythonの例
JSONオブジェクトからPython dataclassを生成する例です。
例:加入者レコード
JSON入力:
生成されたPython出力:
JSONをPythonが役立つ場面
REST API統合時に必要です。Postman、requests、httpxでリクエストを送るとJSONレスポンスが返ります。ここに貼り付けると型付きクラスが得られます。
設定ファイル、Webhookペイロード、イベントストリームはJSONが多いです。ここで処理すると構造を理解し、型ヒントや検証用のPythonクラスを生成できます。
FastAPIやFlaskで外部APIを消費するアプリでは、型付きモデルでコード品質が向上し、早期にエラーを検出できます。
よくある質問
JSONをPython dataclassに自動変換するには?
このツールにJSONを貼り付けてDataclassオプションを有効にすると、ネストオブジェクトごとに@dataclassクラスが生成されます。プロジェクトにコピーするだけ — Python 3.7+対応です。
JSONにおけるdataclassと通常クラスの違いは?
Dataclass(Python 3.7+)は__init__、__repr__、__eq__を自動生成します。通常クラスは手動で__init__を書く必要があります。API作業の多くはdataclassの方がすっきりします。バリデーションにはPydanticを検討してください。
データは送信されますか?
いいえ。すべてブラウザで実行されます。JSONはあなたのデバイスを絶対に離れません — 本番APIレスポンスや機密データにも安全に使えます。
Pydanticで使えますか?
出力は標準Pythonです。Pydanticで使うには基底クラスをBaseModelに変えて@dataclassを削除してください。Pydanticにはdictからのパースを自動処理するmodel_validate()メソッドもあります。
snake_caseとcamelCaseはどうする?
JSONは通常camelCase、Pythonの慣習はsnake_caseです。ジェネレーターはJSONキーをそのまま使います。Pydanticではmodel_config = ConfigDict(populate_by_name=True)とField(alias="camelCaseKey")でマッピングできます。
関連ツール
PythonのJSON処理はPython jsonモジュールとPydanticを参照。JSONはJSON仕様、RFC 8259、MDNを参照。