JSONをPythonに変換
JSONをPython POJOクラスに変換してPython開発用に
JSON入力
Python出力
JSONをPythonとは?
Pythonは構造化データにdictとカスタムクラスを使用します。json.loads()でJSONを解析するとdictが得られます。動的アクセスには十分ですが、型付きアクセス、IDEサポート、検証にはdataclassや通常のクラスが必要です。JSON仕様はオブジェクト、配列、文字列、数値、真偽値を定義していますが、Pythonはネスト構造ごとに明示的なクラス定義が必要です。
このツールはJSONからPythonクラス定義を生成します。設定パネルでDataclass、Typing、Nullableを切り替えてください。Dataclass(Python 3.7+)は__init__、__repr__、等価性を無料で提供します。Pydantic検証用に出力を適応できます。
変換は完全にブラウザで実行されます。JSONはサーバーに送信されません。ブラウザのネットワークタブで確認できます。
使い方
JSONを貼り付けまたはアップロード
JSONを左のエディタに貼り付けるか、アップロードで.jsonまたは.txtを読み込んでください。サンプルで例データを読み込めます。設定パネルでクラス名(例:User)とオプション(Dataclass、Typing、Nullable)を設定してください。
生成されたクラスを確認
右パネルに生成されたPythonコードが表示されます。ネストオブジェクトはネストクラスに。配列はtypingモジュールの<code>List[Type]</code>になります。無効な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を消費するアプリでは、型付きモデルでコード品質が向上し、早期にエラーを検出できます。
よくある質問
Dataclassと通常クラス?
Dataclass(Python 3.7+)は__init__、__repr__、__eq__を無料で提供します。通常クラスは手動の__init__が必要です。
Optional型は?
Nullable Typesを有効にするとOptional[T]またはT | Noneが得られます。T | NoneにはPython 3.10+が必要です。
データは送信されますか?
いいえ。生成はブラウザで実行されます。
Pydanticで使えますか?
出力は標準Pythonです。Pydantic用にBaseModelに変更し、バリデーターを追加して適応できます。
snake_caseとcamelCase?
JSONはcamelCase、Pythonはsnake_caseを好みます。ジェネレーターはJSONキーをそのまま使用します。PydanticではField(alias="camelCase")でマッピングできます。
関連ツール
PythonのJSON処理はPython jsonモジュールとPydanticを参照。JSONはJSON仕様、RFC 8259、MDNを参照。