JSON to TypeScriptコンバーター — 無料オンライン

JSONを貼り付けると、ネストされたオブジェクトを含むTypeScriptインターフェースを自動生成します。

結果は情報提供のみを目的としており、誤りを含む場合があります。重要な情報は必ずご自身で確認してください。本ツールのご利用は自己責任でお願いいたします。

このツールでできること

JSON to TypeScriptコンバーターは、サンプルのJSONオブジェクトを読み取り、それに対応するTypeScriptのインターフェースを生成します。ネストしたオブジェクトにはそれぞれ名前付きのインターフェースが作られ、各プロパティには値から推論した型(string、number、boolean、null、配列型、または別のインターフェース)が付きます。

インターフェースの名前はインターフェース名フィールドで設定します。JSONが配列の場合は最初の要素から型が決まり、type UserList = User[];のようなリスト型が追加されます。

こんなときに使えます

  • TypeScriptのフロントエンドやNode.jsのサービスから呼び出すAPIのレスポンスに型を付けるとき。
  • インターフェースを手書きする代わりに、実際のペイロードからデータモデルを作り始めるとき。
  • Webhookやイベントのペイロードの構造をチーム向けにドキュメント化するとき。

使用例

入力

{"id": 1, "name": "Ana", "active": true, "address": {"city": "Lisbon"}, "tags": ["admin"]}

出力

interface Address {
  city: string;
}

interface User {
  id: number;
  name: string;
  active: boolean;
  address: Address;
  tags: string[];
}

このツールについての質問

オプショナルなプロパティは検出されますか?

いいえ。型は1つのサンプルから推論されるため、そのサンプルにないプロパティはインターフェースにも含まれません。常に存在するとは限らないプロパティには?を付けてください。

nullにはどの型が付きますか?

サンプルでnullになっている値にはnull型が付きます。そのフィールドに値が入ることもある場合は、string | nullのようなユニオン型に変更してください。

値が混在する配列はどうなりますか?

要素の型はユニオン型になります(例:(string | number)[])。空の配列は推論の手がかりがないため、unknown[]になります。

このツールは無料ですか?

はい、無料でご利用いただけます。登録・メールアドレス不要。結果はこのページに表示されます。

結果はどこで確認できますか?

このページでツールを使用すると、結果がここに表示されます。メールで受け取る必要はありません。