開発者 / 種類
JSONからPythonへの変換ツール
JSONサンプルをPythonのdataclass、TypedDict定義、またはPydanticモデルに変換します。ネストしたクラス、オプショナルおよびnull許容フィールド、snake_case名に対応しています。
JSONからPythonへの変換ツール: この変換ツールはサンプルの構造を読み取ります。各オブジェクトはクラスになり、配列はlist[...]になります。配列内のオブジェクトは統合されるため、一部のレコードにないキーはオプショナルになり、nullになることがあるキーには"| None"が付きます。Pythonの有効な名前ではないキーはsnake_caseに変換されます。Pydanticモデルでは元のキーがエイリアスとして保持され、TypedDictでは関数形式に切り替わります。いくつかの難しいサンプルの出力をPython 3.13で実行し、Pydanticでサンプルとの適合性を検証しました。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。
- カテゴリ
- 開発者ツール
- 実行回数
- ブラウザ内で
- コスト
- 無料 · 登録不要
- 提供状況
- すぐに使えます
完全にブラウザ内で実行します
Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class Address:
city: str
zip_code: str
@dataclass
class User:
id: int
user_name: str
avatar_url: str
score: float
tags: list[str]
address: Address
manager_id: int | None
nickname: str | None = None
UserList = list[User]
Python 3.10以降向けのコードです。一部のオブジェクトにないキーはoptionalになり、nullになることがあるキーは「| None」になります。データクラスは名前を変更したキーをJSONに戻すマッピングを行わないため、キーが有効なPython名でない場合は、エイリアスを追加するPydanticを使用してください。
型から検証まで
型ヒントだけでは実行時にデータをチェックできません。アノテーションの内容にかかわらず、json.loadsが返すのは通常のdictとlistです。Pydanticモデルなら、Model.model_validate(data)でデータを解析しながら検証と変換を行い、適合しないすべてのフィールドを報告できます。
同じサンプルを別の言語で使う場合は、JSONからTypeScriptへとJSONからGoへを参照してください。言語に依存しない契約には、JSONからJSON Schemaへが便利です。
適切なサンプルを用意する
1件だけでなく、オプションのフィールドや空のフィールドを含む複数のレコードを貼り付けてください。そうすると、変換ツールが常に存在するキーを確認できます。常にnullまたは空の配列になる値はAnyとして出力されるため、手動で埋める必要があります。
使い方
- JSONサンプルを貼り付けます。一般的なレコードを複数含む配列がおすすめです。
- dataclass、TypedDict、Pydanticのいずれかを選び、最上位の型に名前を付けます。
- 生成されたクラスをプロジェクトにコピーします。
プライバシーと制限事項
JSONはブラウザ内で変換され、アップロードされることはありません。
関連ツール
よくある質問
どの形式を使えばよいですか?
APIからのデータを検証・解析するならPydantic、通常のdictを受け渡すコードを型チェックするならTypedDict、自分で作成する単純な内部オブジェクトならdataclassがおすすめです。
コードにはどのPythonバージョンが必要ですか?
X | None構文を使うため、Python 3.10以降が必要です。TypedDictのNotRequiredには3.11が必要で、それより古いバージョンではtyping_extensionsを使用してください。
一部のフィールドがAnyになるのはなぜですか?
常にnullのキーや空の配列からは型を判断できません。APIのドキュメントにある実際の型にAnyを置き換えてください。
無料ツール · ブラウザ内で · アカウント不要