生成・コード構造ツール

JSON → TypeScript

JSONサンプルを貼り付けて、TypeScriptのinterfaceや型エイリアスを生成できます。

JSON入力

生成コード

全サンプルを統合し、省略可能なフィールド、ユニオン型、入れ子の型を含むTypeScriptを生成します。

JSONと生成したコードはブラウザー内だけで処理し、アップロードや自動保存は行いません。入力に含まれるコードも実行しません。

このツールについて

JSONサンプルからTypeScriptの型宣言を作り、フィールド、配列、入れ子構造を確認できます。配列の全要素を反映し、一部のオブジェクトにないフィールドは省略可能として示します。出力されるのは型定義で、元のデータ値は含みません。

使い方

  1. 有効なJSONを入力します。オブジェクトやオブジェクト配列がおすすめです。
  2. ルート型名を設定し、interfaceまたはtype aliasを選びます。
  3. 「変換」を押し、省略可能なフィールドの?、nullのユニオン、入れ子の型を確認します。
  4. コードをコピーするか、整えられたルート型名の.tsファイルをダウンロードします。

使用例

  • [{"id":1,"name":"Tom"},{"id":2,"email":"a@example.com"}]:idは必須、nameとemailは省略可能です。
  • [1,"a",true]:要素の型はnumber、string、booleanのユニオンになります。
  • {"date":"2026-01-01","matrix":[[1,2],[3,4]]}:dateはstring、matrixはnumber[][]です。

型の対応規則

文字列はstring、整数と小数はnumber、真偽値はbooleanになります。省略と明示的なnullは別に記録し、省略には?、既知の型にnullも現れる場合は| nullを付けます。nullのみのサンプルからstringは推論しません。空配列はunknown[]、オブジェクトは安定した名前の入れ子の型になります。不正なプロパティ名は引用符で囲み、ルート名と型名は有効な識別子に整えて衝突を解消します。日付文字列はstringのままです。サンプルだけでは今後の全データが型に適合するとは保証できません。入力・出力はそれぞれ1 MiB、入れ子64階層、100000ノード、統合フィールド5000個、型256個までです。安全な整数範囲外、非有限値、アンダーフローで0になる数値はエラーにし、その他の小数はブラウザーの浮動小数点精度に基づきます。

主な用途

  • APIレスポンスのサンプルから型の下書きを作成する。
  • オブジェクト配列で省略される可能性のあるフィールドを確認する。
  • 入れ子のJSONから読みやすい型宣言を作成する。

プライバシー

JSONと生成したコードはブラウザー内だけで処理し、アップロードや自動保存は行いません。入力に含まれるコードも実行しません。

結果を残す場合は、ページを離れる前にコピーまたはダウンロードしてください。

よくある質問

日付文字列がDateにならないのはなぜですか?

JSONにDate型はありません。日付のような文字列も初期設定ではstringのままで、実行時の変換はアプリケーション側で行います。

省略可能なフィールドはどう判断しますか?

あるフィールドが一部のサンプルにだけ存在する場合、省略可能として示します。内容をより正確に反映するには、代表的なサンプルを複数用意してください。

明示的なnullとフィールドの省略の違いは?

nullはフィールドが存在し、その値が空であることを示します。省略はフィールド自体がありません。それぞれユニオン型と省略可能の印で表します。

配列に異なる型の要素がある場合は?

互換性のあるオブジェクト構造を統合し、整数と小数はnumberにまとめます。異なるプリミティブ型はユニオン型として残します。

出力は完全なデータ検証器ですか?

いいえ。TypeScriptの型は静的な記述であり、実行時にJSONを自動検証したり、サンプルにないケースを推論したりはしません。

開発者ツール一覧に戻る