⌘K でツールを切替
FORMAT & CONVERT

JSON → TypeScript型定義ジェネレーター

JSONからTypeScriptのinterface定義を生成します。

local
json-code
§01 このツールについて

概要

JSONペイロードを貼り付けると、対応するTypeScriptの interface 宣言を生成します。 ドキュメントのないAPIのラップ、設定ファイルの型付け、サンプルレスポンスからの DTO作成などに便利です。プリミティブは stringnumberboolean にマップされ、 ネストしたオブジェクトは別interfaceとして抽出、識別子として無効なプロパティ名は 自動でクォートされます。

使い方

  1. Root type name にトップレベルのinterface名を入力します(デフォルトは Root)。
  2. JSON 欄にサンプルを貼り付けます。
  3. 入力と同時に更新される TypeScript 出力から宣言をコピーします。

使用例

  • {"id":1,"name":"Alice","meta":{"active":true}}

    interface Root {
      id: number;
      name: string;
      meta: Meta;
    }
    

    に加えて interface Meta { active: boolean; } が別途生成されます。

注意事項

型は1つのサンプルからの推論です。null 値は null 型になり、オプショナルな フィールドは検出できず、union型も生成されません。出力はあくまで叩き台として、 実際のAPI仕様に合わせてnull許容やオプショナル指定を調整してください。

FAQ
JSONはサーバーに送信されますか?
いいえ。パースと型生成はすべてブラウザ内で実行され、アップロードは一切行いません。実データを含むAPIレスポンスを貼り付けても安全です。
ネストしたオブジェクトはどう扱われますか?
ネストした各オブジェクトはプロパティ名から命名された独立のinterfaceになり(例えばmetaプロパティはMetaというinterfaceに)、親からは名前で参照されます。
配列の型はどう推論されますか?
配列の先頭要素から要素型を推論します。空配列はunknown[]になるため、実際の要素型が分かっている場合は手で修正してください。