JSON → TypeScript インターフェイス
JSON サンプル(API レスポンス、設定、フィクスチャ)を貼り付けると、すぐ使える TypeScript インターフェイスが得られます。ネストしたオブジェクトは親キー名(PascalCase)の別インターフェイスに、配列は要素型を推論、プリミティブはそのまま。マージモードは配列の全要素を巡回してユニオン型を作り、最初の要素モードは 0 番目だけ見て高速に推論します。
—
TypeScript
export interface Post {
id: number;
title: string;
tags: string[];
}
export interface Address {
city: string;
zip: string;
}
export interface Root {
id: number;
name: string;
active: boolean;
joinedAt: string;
roles: string[];
address: Address;
posts: Post[];
}使い方
- JSON サンプルを貼り付け。
- ルート型名を設定し、interface / type を選択。
- 配列の扱いを選択 — マージ(安全)または最初の要素のみ(高速)。
- 生成された TypeScript をコピー。
よくある質問
- users 配列なのに User インターフェイスが出るのは?
- 複数形に見えるキー(users, posts, tags など)は単数化してネスト型名にします。'posts': [...] は Post インターフェイスを生成し Post[] として使われます。
- マージと最初の要素の違いは?
- マージは配列の全要素を巡回してフィールド型をユニオンにまとめ、一部要素にしかないフィールドは 'field?' になります。最初の要素は 0 番目だけ見るので高速ですがユニオン・オプショナルを見逃すことがあります。
- 日付は Date として推論されますか?
- いいえ — コンパイル時には日付文字列と普通の文字列を区別できないので 'string' のままにします。strict モードでも安全。
- null は?
- null は独立した型になります。マージモードである要素に null があれば 'field: string | null' のように生成されます。
関連ツール
JSON Schema ジェネレータ
JSON を貼り付けると、その形に合った draft-07 JSON Schema を生成 — 型推論・フォーマット検出・required フィールド入力。
開発 0 0
JSON to Zod スキーマジェネレーター
JSON オブジェクトを型推論付きの Zod 検証スキーマにブラウザ上で変換します。
開発 0 0
JSON to GraphQL スキーマ(SDL)コンバーター
JSON オブジェクトをスカラーマッピング付きの GraphQL 型定義(SDL)にブラウザ上で変換します。
開発 0 0
モックデータジェネレーター
テスト用のリアルなダミーレコードを生成 — 名前・メール・日付・ID・ロレム — JSON / CSV / SQL INSERT で出力。
開発 0 0
JSON to JSDoc @typedef ジェネレーター
JSON オブジェクトを @property タグ付きの JSDoc @typedef ブロックにブラウザ上で変換します。
開発 0 0
JSON to Python データクラスコンバーター
JSON オブジェクトを型ヒント付きの Python @dataclass 定義にブラウザ上で変換します。
開発 0 0