JSON to TypeScript Interface

JSONからTypeScriptのinterfaceまたはtype定義を自動生成します。ネストしたオブジェクト・配列・null対応。

入力データはブラウザ内で処理されます
データはサーバーへ送信されません

変換ツール

ルート名
インデント:

またはファイルをドラッグ&ドロップ

JSON to TypeScript Interface 変換ツールとは?

APIレスポンスや設定ファイルのJSONから、TypeScriptの interface または type 定義を自動生成するツールです。

ネストしたオブジェクトは個別のインターフェースとして展開され、配列は要素の型から推論されます。readonly・オプショナル・null表現など実務でよく使うオプションも備えています。

使い方

  1. 左側にJSONを貼り付けると、右側にTypeScriptの型定義が即座に生成されます。「サンプル」ボタンで動作を確認できます。
  2. 「ルート名」に生成するインターフェース名を入力します(デフォルト: Root)。
  3. 「プロパティをオプショナルにする」を有効にすると、すべてのプロパティに `?` が付きます。
  4. 「readonlyを付ける」を有効にすると、すべてのプロパティに `readonly` 修飾子が付きます。
  5. 「interface の代わりに type を使う」を有効にすると、`interface` の代わりに `type =` 構文で出力されます。
  6. 「null を | null で表現」を有効にすると、null値のプロパティを `unknown | null` 型として出力します。

よくある質問

ネストしたオブジェクトはどう変換されますか?

ネストしたオブジェクトは個別の interface として自動生成され、親の型から参照されます。依存関係の順番で出力されるため、そのままTypeScriptファイルに貼り付けて使えます。

配列はどう変換されますか?

配列内のすべての要素の型を調べて統一します。オブジェクトの配列の場合はすべての要素のキーをマージして1つの interface を生成します。

APIレスポンスのJSONをそのまま使えますか?

はい。ブラウザの開発者ツールなどからコピーしたAPIレスポンスのJSONをそのまま貼り付けることができます。

生成されたコードを編集することはできますか?

出力は読み取り専用テキストエリアに表示されます。「コピー」ボタンでクリップボードにコピーして、エディタで自由に編集してください。