JSONからTypeScript・Pythonの型定義を生成する方法
有効なJSONテキストを入力し、TypeScriptまたはPythonを選ぶと、JSONの値から推測した型定義を生成できます。TypeScriptが既定で、必要に応じてルート型名も変更できます。
JSONから型定義を作る前に
JSONから型定義を作りたいときは、データの形を確認しながらTypeScriptまたはPython向けのソースコードへ変換できます。入力するのはJSONテキストです。TypeScriptではインターフェース、Pythonではデータクラスとして出力されるため、APIレスポンスや設定データの構造をコード上で扱う準備に向いています。TypeScriptを使う場合は既定の選択のまま始められ、ルート型名も必要に応じて変更できます。
変換の手順
- 変換したいJSONテキストを用意します。空白だけの入力では生成できないため、少なくとも有効なJSONを入力してください。
- JSONを入力欄に貼り付けます。オブジェクトや入れ子になったオブジェクトを含む場合も、そのままJSONとして入力します。
- 出力言語を選択します。TypeScriptではインターフェース、Pythonではデータクラスが生成されます。選択しない場合はTypeScriptが使われます。
- 必要ならルート型名を指定します。指定しなければルート型名はRootです。
- 生成を実行し、出力されたソースコードを確認します。入力が空白だけの場合、JSONの構文が正しくない場合、TypeScriptまたはPython以外を選んだ場合は生成されません。
生成結果の読み方
出力では、JSONオブジェクトの項目と値から型が推測されます。文字列はTypeScriptでstring、Pythonでstr、真偽値はそれぞれbooleanとbool、数値はそれぞれnumberとfloatとして表現されます。入れ子のオブジェクトには別の生成型が割り当てられ、それを参照する項目には対応する型が使われます。
生成結果は入力したJSONの構造をコードで表したものです。JSONに存在しない仕様や、実際のアプリケーションで必要な追加の制約まで自動的に確定するものではないため、利用前に項目名や型、プロジェクトの規約との整合性を確認してください。
使用例
文字列の名前、真偽値の状態、数値の件数、入れ子のプロフィールを含むJSONをTypeScriptの型定義に変換します。
APIレスポンスを想定したJSONオブジェクトを入力し、出力言語にTypeScriptを選んで生成します。
TypeScriptを選んだ場合は、JSONオブジェクトの項目に推測された型を持つインターフェース宣言が生成され、入れ子のオブジェクトには別の生成型が割り当てられます。
制限事項
- 生成結果は入力JSONから推測した構造を表すコードです。入力に含まれない追加仕様やプロジェクト固有の制約まで確定するものではありません。
よくある間違い
- JSONではなく、空白だけのテキストや構文エラーのある文字列を貼り付けると生成されません。値の区切りや引用符を確認し、有効なJSONを入力してから再実行してください。
よくある質問
JSON以外のテキストも変換できますか?
入力が空白だけの場合やJSONの構文が正しくない場合は生成されません。JSONとして解析できるテキストを入力してください。
既定の出力言語は何ですか?
初期状態ではTypeScriptが選ばれます。Pythonを使う場合は出力言語を切り替えると、データクラスが生成されます。
ルート型名を変更できますか?
指定できます。指定しない場合のルート型名はRootです。