機能
JSON → TypeScript ツールは任意の有効な JSON を読み込み、クリーンで型付きの TypeScript インターフェースを推論します — もう二度と型を手書きする必要はありません。ネストされたオブジェクト(それぞれが名前付きサブインターフェースを得る)、配列(T[])、異種配列(ユニオンにマージ、または真のユニオン — 選択可能)、プリミティブ値、null に対応します。同一のネスト形状は1つの共有インターフェースに重複排除され、TypeScript の予約語と衝突するキーは自動的にクォートされます。すべては100%ブラウザ内で動作するため、本物の機密ペイロードを貼り付けても安全です。
使い方
- JSON 入力ボックスに JSON を貼り付けます(または サンプル を押してデモを確認)。
- 任意で ルート名 を設定します(デフォルトは
Root。有効な識別子にサニタイズされます)。 - 配列要素のユニオン を選びます。マージ(デフォルト — オブジェクトはキーをマージ、異なるプリミティブはユニオン化)または ユニオン(異なる要素型の真のユニオンを出力)。
- Nullable → オプション を切り替えると、型に
nullを含むプロパティをオプションとしてマークします。 - インターフェースは右側にライブ表示され、入力をスクロールしても固定されたままです。
- TypeScript を コピー、
types.tsとして ダウンロード、または正確な表示を再現する 共有リンクをコピー します。
例
ネストされたオブジェクトからインターフェースを推論
入力:
{ "id": 7, "name": "CosmoDev", "tags": ["json", "ts"], "meta": { "version": 2 } }
出力:
interface Root {
id: number;
name: string;
tags: string[];
meta: RootMeta;
}
interface RootMeta {
version: number;
}
異種配列はユニオン要素にマージされる
入力:{ "xs": [1, "a"] } → プロパティ xs: (number | string)[]。
予約語キーはクォートされる
入力:{ "class": "x", "default": 1 } → "class": string; "default": number;。
豆知識
- 共有可能: 入力とオプションはURLにエンコードされるため、リンクで正確な出力を再現できます。
- プライベート: 推論はすべてローカルで行われます — シークレットや資格情報にも安全です。
- 関連ツール: JSON フォーマッター、JSON バリデーター、
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
。