JSON から TypeScript へ
JSON オブジェクトから TypeScript インターフェース定義を生成します。ネストされたオブジェクトは名前付きインターフェース、配列は要素型を推論し、配列要素間で欠けているキーは任意プロパティになります。
input.json
types.ts
関連
TS Types のガイド
LLM の JSON 出力を修復:AI からの「ほぼ JSON」を扱う
LLM は ```json フェンスで囲まれた JSON を、単一引用符、Python リテラル、引用符なしのキーとともに返すことがよくあります。構文を修復し、厳格に検証し、クリーンアップした出力から TypeScript の型を導きます。
LLM が出力した JSON を修復する
AI の応答は一見 JSON のようでも、Markdown フェンス、コメント、Python 風リテラル、JavaScript オブジェクト構文を含むことがよくあります。
JSON と JavaScript オブジェクトリテラルの違い
JSON は JavaScript オブジェクトリテラルに似ていますが、より小さく、より厳格で、実行可能な値を含まないデータフォーマットです。
JSON から TypeScript への変換の仕組み
各 JSON オブジェクトは TypeScript の interface を生成します。ルートオブジェクトのデフォルト名は Root です。ネストされたオブジェクトは、対応するプロパティ名から命名された個別のインターフェースを得ます —— address というキーは Address インターフェースになります。
配列とオプショナルなフィールド
オブジェクトの配列は、すべての要素に登場したキーをマージします。一部の要素でキーが欠けている場合、それはオプショナル(key?: Type)になります。プリミティブの配列は string[] や number[] のような型付きシグネチャになります。
いつ使うか
- API 統合 —— レスポンスを貼り付けると、TypeScript プロジェクトにそのまま入れられる型定義が即座に得られます
- プロトタイピング —— パース処理に取り掛かる前に、新しい API やデータセット向けのインターフェースの骨格を素早く組み上げます
- コードレビュー —— JSON ペイロードの形状が、コードが期待するインターフェースと一致していることを確認します