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