JSON to TypeScript
JSONからTypeScriptの型定義を生成(変換)します。
概要
入力したJSONの構造から、対応するTypeScriptのinterface定義を自動生成するツールです。
ネストしたオブジェクトは個別のinterfaceとして分離して生成されるため、APIレスポンスのような複雑な構造でも見通しの良い型定義になります。
配列内の要素の型が揃わない場合は共用体型(Union Type)として表現されるなど、実際のJSONデータの多様な形に対応しています。
使い方
- 1
テキストエリアに型定義を生成したいJSONを入力します。
- 2
「型を生成する」ボタンをクリックします。
- 3
ネストしたオブジェクトは個別のinterfaceとして生成されます。「コピー」ボタンで結果をクリップボードにコピーできます。
入力例・出力例
入力
{"name":"Taro","age":20,"hobbies":["reading","coding"]}出力
interface Root {
name: string;
age: number;
hobbies: string[];
}利用シーン
外部APIのレスポンス例(JSON)から、フロントエンドで使うTypeScriptの型定義を素早く作成する
モックデータやサンプルJSONをもとに、実装前に大まかな型の骨組みを用意する
手書きで型定義を書く前に、JSONの構造を機械的に反映した叩き台として利用する
よくある質問
入力したJSONは外部に送信されますか?
いいえ。型生成処理はすべてブラウザ内で完結し、外部サーバーへは送信されません。
配列の要素の型はどのように決まりますか?
配列内の要素がすべてオブジェクトの場合は単数形のinterfaceを生成します。要素の型が揃わない場合は共用体型(Union Type)として表現します。
生成されたキー名の一部がクォートされるのはなぜですか?
ハイフンや数字始まりなど、TypeScriptの識別子として使用できないキー名は自動的にクォートして出力します。
注意点
生成される型定義はJSONの値から推論した結果です。必須/任意の区別やnullとundefinedの違いなど、実際の仕様に応じて手動での調整が必要な場合があります。
ハイフンや数字始まりなど、TypeScriptの識別子として使えないキー名は自動的にクォートして出力されます。
配列内の要素がすべてオブジェクトの場合は単一のinterfaceにまとめられますが、オブジェクトの形が要素ごとに異なる場合は意図と異なる結果になることがあります。
関連ツール
JSONの形式が正しいかどうかを検証(バリデーション)します。
JSON Schemaから、TypeScriptのinterfaceまたはZodスキーマのコードを生成します。
JSONをYAML形式に変換(コンバーター)します。