JSON → TypeScript
JSONのサンプルから、ネストした型まで推論して、ブラウザ内でTypeScriptのインターフェースを生成します。
データ収集なし
データベースもアカウントもありません。ファイルを見ることはできません。
超高速
ブラウザネイティブ処理 — アップロードなし、待ち時間なし。
100%無料
制限なし、透かしなし、隠れた費用なし。
アカウント不要
サインイン?不要です。ツールを開くだけで使えます。
JSONからTypeScriptのインターフェースを生成する
実際のペイロードから型を起こす
新しいAPIを使い始めるとき、型安全性を手に入れる最も早い方法は、実際のレスポンスを受け取ってTypeScriptのインターフェースに変換することです。手作業で行うのは遅く、間違えやすく、特にオブジェクトが数階層ネストすると大変になります。
JSONのサンプルを貼り付けると、このツールはその構造をたどって対応するインターフェースを生成し、ネストしたオブジェクトにはそれを保持しているキーの名前を付けるため、出力は自分で書いたかのように読めるものになります。
省略可能フィールド、ユニオン、マージされた配列の形
推論は当たり前のところで止まりません。配列がオブジェクトを保持している場合、それらの形は1つのインターフェースにマージされます。一部の要素に欠けているキーはクエスチョンマーク付きで省略可能になり、要素ごとに異なる型を持つフィールドは number | string のようなユニオンになります。
空の配列は誤った推測ではなく unknown[] になり、有効な識別子ではないキーは引用符で囲まれるため、生成されたコードは常にコンパイルできます。
読みやすく、そのまま貼り付けられる出力
ネストしたインターフェースは、それを使う型より先に出力され、重複する名前は自動的に区別されるため、結果を .ts ファイルに貼り付けるだけで並べ替えの必要はありません。ルートインターフェースの名前を、あなたのドメインに合わせて変更することもできます。
ジェネレーターは渡されたサンプルから推論するため、省略可能なフィールドやエッジケースのフィールドを含め、JSONが代表的であるほど、得られる型はより正確になります。
ローカルで処理、アップロードは一切なし
すべてがブラウザ内で実行されます。実際のAPIデータを含むことが多いJSONが、サーバーにアップロードされることはありません。
生成は瞬時に終わり、一度ページを読み込めばオフラインでも動作し続けます。
よくある質問
ネストしたオブジェクトはどう扱われますか?
ネストした各オブジェクトは、それを含むキーの名前を付けた独自のインターフェースになり、親から参照されます。インターフェースは依存先が先に現れるよう並べられます。
フィールドが異なるオブジェクトの配列はどうなりますか?
それらの形は1つのインターフェースにマージされます。一部の要素に欠けているキーは省略可能になり、型が異なるフィールドは number | string のようなユニオンになります。
ルートの型の名前を変更できますか?
はい。ルートインターフェースは既定で Root になり、代わりに任意の有効なTypeScript識別子を設定できます。
JSONはアップロードされますか?
いいえ。型の生成は完全にブラウザ内で行われ、データが端末から出ることはありません。