JSON を TypeScript に
JSON から TypeScript への変換は JSON サンプルを TypeScript の interface や type alias に変換し、任意項目、ユニオン型、配列要素の構造も推論できるため、API レスポンス設計、フロントエンド型定義の初期化、mock データ整理に向いています。
JSON
文字
0 / 500,000
TypeScript
かんたんスタート
よくある利用シーン
実際の API レスポンスを、フロントエンド画面、SDK クライアント、疎通確認ですぐ使える TypeScript 型へ素早く整理できます。
正式な契約を固める前に、JSON サンプルから optional、null、union 型の推論結果を確認できます。
モック JSON データをフィクスチャ、Storybook のストーリー、プロトタイプ用の型定義へすばやく変換します。
バックエンドの応答構造が変わったときに、最新の JSON サンプルから User や Meta などの入れ子定義を更新すべきか確認できます。
使い方のヒント
制限事項と互換性
プライバシーとセキュリティ
よくある質問
オブジェクトのルートは interface 宣言を生成し、配列のルートとプリミティブ値のルートは type alias を生成します。トップレベルがオブジェクト配列の場合、ルートは type Root = RootItem[]; のような type alias のままで、要素構造は別途宣言されます。
サンプル内に配列要素やオブジェクトプロパティがない場合、ジェネレーターはそれ以上狭い型を推論できません。そのため、空配列は unknown[]、空オブジェクトは Record<string, unknown> を拡張する interface のまま保持されます。
入力した名前がすでに有効な TypeScript 識別子なら、そのまま保持されます。たとえば APIResponse です。無効な名前は生成前に安定した PascalCase 識別子へ正規化されます。
現在のジェネレーターはプロパティパスからネスト名を正規化し、衝突も決定的に解決します。そのため、新しい出力では常にルート名を付ける代わりに User、Meta、FooBarClass のような名前が使われます。
現在の出力契約では、あえて export なしのプレーンな宣言を返します。これにより出力を中立に保てるので、必要ならプロジェクトのスタイルに合わせて export を追加してください。