本文へスキップ

JSON から TypeScript

JSON サンプルをブラウザ内で TypeScript interface と type alias に変換します。オプション項目、union/null/Date 推論、ルート型名、.ts 出力のコピー/ダウンロードに対応します。

JSON

文字

0 / 50,000

TypeScript

JSON から TypeScript

かんたんスタート

1
有効な JSON サンプルを左側のエディターに貼り付けます。
2
必要なら ApiResponse などのルート型名を設定します。
3
右側の TypeScript を確認します。object は interface、配列やプリミティブは type alias です。
4
生成された .ts をコピーまたはダウンロードします。入力側では JSON サンプルも扱えます。

よくある利用シーン

実際の API レスポンスを、フロントエンド画面、SDK クライアント、疎通確認ですぐ使える TypeScript 型へ素早く整理できます。

正式な契約を固める前に、JSON サンプルから optional、null、union 型の推論結果を確認できます。

モック JSON データをフィクスチャ、Storybook のストーリー、プロトタイプ用の型定義へすばやく変換します。

バックエンドの応答構造が変わったときに、最新の JSON サンプルから User や Meta などの入れ子定義を更新すべきか確認できます。

使い方のヒント

代表的な JSON サンプルを使ってください。このページはサンプルベースで推論するため、サンプルにないフィールドや値は出力されません。
空配列は unknown[] になり、空オブジェクトは Record<string, unknown> を拡張する interface になります。より具体的なサンプルを入れると精度が上がります。
ネストした宣言名はプロパティ名から正規化されるため、新しい出力では従来の root 接頭辞付き名よりも User や Meta のような名前が使われやすくなります。
生成は有効な JSON に対してのみ実行されます。構文エラーがある場合は先に修正してください。解析失敗時は行と列が表示されます。
有効なカスタムのルート型名はそのまま保持され、無効な名前は TypeScript の PascalCase 識別子へ正規化されます。

型推論の境界

生成器は現在のサンプルからだけ推論します。JSON Schema、OpenAPI、GraphQL、ファイル、URL、JSON Lines、バッチサンプルは読みません。
配列は観測された要素の形をマージします。一部の要素にないフィールドは optional になり、null や混在値は union になります。
日付に見える文字列は Date と推論されることがありますが、コード側で解析しない限り、実行時の JSON 値は string のままです。
オブジェクトルートは interface を生成します。配列ルートとプリミティブルートは type alias を生成します。空配列は unknown[]、空オブジェクトは Record<string, unknown> を拡張します。
ルート型名のデフォルトは Root です。有効なカスタム名は保持され、無効な名前と予約語は PascalCase に正規化されます。
出力は静的な TypeScript 宣言だけです。ランタイム validator、parser、serializer、Zod/Yup/io-ts schema、API client は生成しません。

制限事項と互換性

このツールは正式な schema や契約の真実源ではなく、サンプルデータから型を推論します。サンプルにないフィールドは推測できません。
入力は厳密な JSON である必要があります。コメント、末尾カンマ、その他 JavaScript 専用構文は受け付けません。
生成された TypeScript コードには、export ステートメントは含まれません。.ts ファイルのダウンロードは、プロジェクトに必要なエクスポート キーワードの追加とは別のものです。
結果は静的な TypeScript コードのみです。ランタイムバリデーター、パーサー、シリアライザー、Zod スキーマ、または API クライアントは作成されません。

プライバシーとセキュリティ

JSON から TypeScript への変換はブラウザ内でローカルに実行されます。JSON 入力はブラウザー下書きとして残ることがあります。保存済みワークスペースまたは WebDAV 同期が有効な場合、JSON 入力、ルート型名、入力/出力の行番号設定、折り返し設定がその同期を通じて保存されることがあります。生成された TypeScript、検証エラー、行/列ハイライト、コピー状態、元に戻す履歴は現在の入力から派生し、個別の結果データとして保存されません。入力 JSON のダウンロードと .ts 出力のダウンロードは、Download をクリックしたときだけ作成されます。このツールはファイルをアップロードせず、添付ファイルを作成しません。

よくある質問

6

次の作業に役立つ関連ツールです。

すべてのツール処理はブラウザ内でローカルに行われます。