Picovert

JSON → TypeScript

JSONのサンプルから、ネストした型まで推論して、ブラウザ内でTypeScriptのインターフェースを生成します。

データ収集なし

データベースもアカウントもありません。ファイルを見ることはできません。

超高速

ブラウザネイティブ処理 — アップロードなし、待ち時間なし。

100%無料

制限なし、透かしなし、隠れた費用なし。

アカウント不要

サインイン?不要です。ツールを開くだけで使えます。

JSONからTypeScriptのインターフェースを生成する

実際のペイロードから型を起こす

新しいAPIを使い始めるとき、型安全性を手に入れる最も早い方法は、実際のレスポンスを受け取ってTypeScriptのインターフェースに変換することです。手作業で行うのは遅く、間違えやすく、特にオブジェクトが数階層ネストすると大変になります。

JSONのサンプルを貼り付けると、このツールはその構造をたどって対応するインターフェースを生成し、ネストしたオブジェクトにはそれを保持しているキーの名前を付けるため、出力は自分で書いたかのように読めるものになります。

省略可能フィールド、ユニオン、マージされた配列の形

推論は当たり前のところで止まりません。配列がオブジェクトを保持している場合、それらの形は1つのインターフェースにマージされます。一部の要素に欠けているキーはクエスチョンマーク付きで省略可能になり、要素ごとに異なる型を持つフィールドは number | string のようなユニオンになります。

空の配列は誤った推測ではなく unknown[] になり、有効な識別子ではないキーは引用符で囲まれるため、生成されたコードは常にコンパイルできます。

読みやすく、そのまま貼り付けられる出力

ネストしたインターフェースは、それを使う型より先に出力され、重複する名前は自動的に区別されるため、結果を .ts ファイルに貼り付けるだけで並べ替えの必要はありません。ルートインターフェースの名前を、あなたのドメインに合わせて変更することもできます。

ジェネレーターは渡されたサンプルから推論するため、省略可能なフィールドやエッジケースのフィールドを含め、JSONが代表的であるほど、得られる型はより正確になります。

ローカルで処理、アップロードは一切なし

すべてがブラウザ内で実行されます。実際のAPIデータを含むことが多いJSONが、サーバーにアップロードされることはありません。

生成は瞬時に終わり、一度ページを読み込めばオフラインでも動作し続けます。

よくある質問

ネストしたオブジェクトはどう扱われますか?

ネストした各オブジェクトは、それを含むキーの名前を付けた独自のインターフェースになり、親から参照されます。インターフェースは依存先が先に現れるよう並べられます。

フィールドが異なるオブジェクトの配列はどうなりますか?

それらの形は1つのインターフェースにマージされます。一部の要素に欠けているキーは省略可能になり、型が異なるフィールドは number | string のようなユニオンになります。

ルートの型の名前を変更できますか?

はい。ルートインターフェースは既定で Root になり、代わりに任意の有効なTypeScript識別子を設定できます。

JSONはアップロードされますか?

いいえ。型の生成は完全にブラウザ内で行われ、データが端末から出ることはありません。