ここで実行 100% ブラウザ内で動作します。アップロードもログインも不要です。
JSON to TypeScript
JSON を名前付き TypeScript インターフェースへ。ネスト型・配列要素の型推定、オプション フィールド切替に対応。
使い方
- 左パネルに JSON を貼り付けます。起動時にサンプル ペイロードが読み込まれています。
- ルート インターフェース名を設定します。ネストしたインターフェースはキー パスから自動命名されます。
- オプション フィールドをオンにすると、兄弟オブジェクトに無いキーに
?が付きます。 - 出力は入力に合わせて更新。Copy でプロジェクトへ取り込みます。
- 名前衝突は数字の接尾辞で解決し、識別子として不正なキーは
['quoted-key']形式で出力します。
よくある用途
- API クライアント —— 手書きではなく実ペイロードからリクエスト/レスポンス型を生成。
- 設定ファイル —— JSON 設定に型を付け、編集ミスをコンパイル時に検出。
- テスト フィクスチャ —— フィクスチャの形を一度だけ記述し、複数テストで再利用。
- 型の理解 —— ネストしたオブジェクト配列がどのように名前付きインターフェースへ分解されるかを見る。
よくある質問
Q: オブジェクト配列はどう扱われますか?
A: すべてのオブジェクト要素がキーの和集合を覆う 1 つのインターフェースに統合され、配列自体はその名前に [] を付けた型になります。オブジェクト以外の要素は、型が異なればユニオンのメンバーとして現れます。
Q: null はどうなりますか?
A: null は null 型になりユニオンに加わります。ある場所では string、別の場所では null のフィールドは string | null になります。
Q: 同じ形のネストは重複排除されますか? A: 構造的にはされません。重複排除は生成名のみです。キーが同じでも名前が違う 2 つのオブジェクトは 2 つのインターフェースになります。共有したい場合は手動で統合してください。
データはこのデバイス内にとどまります
JSON to TypeScript は 100% ローカルで動作します。貼り付けたり、ドロップしたデータはすべてお使いのブラウザ内で処理され、送信されることはありません。当社のサーバーには何も保存されません——タブを閉じればすべて消えます。
入力された内容がサーバーへ送信・記録・解析利用されることはありません。初回読み込み後はネットワークを切断していてもこのページは動作します。