JSON → TypeScript 型生成
JSONデータからTypeScriptのinterface/type定義を自動生成。ネストオブジェクト・配列・optional対応。ブラウザ完結の無料オンラインツール。
JSONデータからTypeScriptのinterface/type定義を自動生成するツールです。
JSONを入力してください...
// 詳細
TypeScriptの型定義とは
TypeScriptの型定義(interface/type)は、オブジェクトの構造を定義するもので、プロパティ名とその型を指定します。型定義があることでエディタの補完が効き、型安全なコードが書けるようになります。APIレスポンスの型定義は特に重要です。
interfaceとtypeの違い
interfaceは拡張(extends)が可能で、同名のinterfaceは自動的にマージされます。typeはユニオン型やタプル型など、より柔軟な型表現が可能です。オブジェクトの形状定義にはinterface、複雑な型操作にはtypeが一般的に使われます。
型推論のルール
本ツールでは、文字列→string、数値→number、真偽値→boolean、null→null、配列→T[](全要素同一型)または(T|U)[](混合型)、空配列→unknown[]、オブジェクト→別interfaceとして生成、の規則で型推論を行います。配列内オブジェクトは全要素のキーをマージし、一部にないキーはoptional(?)として扱います。
// FAQ
- JSON→TypeScript型生成とは何ですか?
- JSONデータの構造を解析し、対応するTypeScriptのinterface(またはtype)定義を自動生成するツールです。手動で型定義を書く手間を省けます。
- ネストされたJSONにも対応していますか?
- はい、ネストされたオブジェクトは再帰的に解析され、それぞれ別のinterface/typeとして生成されます。配列内のオブジェクトも同様に処理されます。
- データはサーバーに送信されますか?
- いいえ、すべての処理はブラウザ内で完結します。入力データがサーバーに送信されることはありません。
- interfaceとtypeはどちらを使うべきですか?
- 一般的に、オブジェクトの形状定義にはinterfaceが推奨されます。ユニオン型や複雑な型操作が必要な場合はtypeを使います。本ツールではどちらも生成可能です。
- 配列の型はどのように推論されますか?
- 全要素が同一型なら T[] として生成されます。異なる型が混在する場合は (T | U)[] のようなユニオン配列型になります。空配列は unknown[] になります。
// 使い方
-
JSONを入力
左側の入力欄にJSONデータを貼り付けるか入力します。
-
オプションを設定
ルート名(デフォルト "Root")と出力形式(interface/type)を選択します。
-
結果を確認
右側にTypeScriptの型定義がリアルタイムで表示されます。COPYボタンでクリップボードにコピーできます。