⌘K でツールを切替
FORMAT & CONVERT
JSON → TypeScript型定義ジェネレーター
JSONからTypeScriptのinterface定義を生成します。
json-code
§01 このツールについて
概要
JSONペイロードを貼り付けると、対応するTypeScriptの interface 宣言を生成します。
ドキュメントのないAPIのラップ、設定ファイルの型付け、サンプルレスポンスからの
DTO作成などに便利です。プリミティブは string・number・boolean にマップされ、
ネストしたオブジェクトは別interfaceとして抽出、識別子として無効なプロパティ名は
自動でクォートされます。
使い方
- Root type name にトップレベルのinterface名を入力します(デフォルトは
Root)。 - JSON 欄にサンプルを貼り付けます。
- 入力と同時に更新される 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[]になるため、実際の要素型が分かっている場合は手で修正してください。