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はサーバーに送信されません。ブラウザのネットワークタブで確認できます。

使い方

1

JSONを貼り付けまたはアップロード

JSONを左のエディタに貼り付けるか、アップロード.jsonまたは.txtを読み込んでください。サンプルで例データを読み込めます。設定パネルでクラス名(例:User)とオプション(Dataclass、Typing、Nullable)を設定してください。

2

生成されたクラスを確認

右パネルに生成されたPythonコードが表示されます。ネストオブジェクトはネストクラスに。配列はtypingモジュールの<code>List[Type]</code>になります。無効なJSONの場合は先にJSONフォーマッターまたはJSONバリデーターで修正してください。

3

コピーまたはダウンロード

コピーでクリップボードに、ダウンロード.pyファイルとして保存できます。Pydantic検証にはPydanticを検討してください。

JSONをPythonの例

JSONオブジェクトからPython dataclassを生成する例です。

例:加入者レコード

JSON入力:

入力

生成されたPython出力:

出力

JSONをPythonが役立つ場面

REST API統合時に必要です。Postmanrequestshttpxでリクエストを送ると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 8259MDNを参照。