コードジェネレーター
JSON ~ TypeScript ジェネレータ
JSON 応答を貼り付けると、入力済みの TypeScript が表示されます。配列項目はマージされるため、オプションのフィールドが検出され、ネストされたオブジェクトは名前付きインターフェイスになり、混合型は正直な共用体になります。
- ブラウザ上で 100% 動作します
- サインアップなし、アップロードなし
- 無料で無制限に使用可能
JSON サンプル
例: ユーザーオブジェクト · オプションのフィールドを含むリスト —⌘/Ctrl + Enter 変換 · ファイルをドロップしてロード · ローカルで処理
TypeScript
出力は読み取り専用です。コピー、ダウンロード、または共有を使用して移動します。
JSON ~ TypeScript ツールの使用方法
-
実際の応答を貼り付けます
運用環境で実際に見られるオプションのフィールドと null 許容フィールドを含むペイロードを使用します。より代表的なものであるほど、推論される型が適切になります。
-
ルートタイプに名前を付けます
ルート型にコードベース内の名前 (User、Order、ApiResponse) を付け、スタイル ガイドに一致するインターフェイスまたは型エイリアスを選択します。
-
プロジェクトにコピーする
結果を type ファイルに貼り付けます。実行時検証の場合は、JSON スキーマまたは Zod などの実行時検証ツールと組み合わせます。
このツールの違い
- 配列要素の形状をマージし、非ユニバーサルキーをオプションとしてマークします
- サイレント アニオンではなく、混合型 (文字列 | 数値、文字列 | null) のユニオン
- キーパスから名前が付けられたネストされたオブジェクト (アドレス、証拠など)
- カスタム ルート名を使用したインターフェイスまたはタイプ エイリアスの出力
- タイムスタンプフィールドにフラグを立てるためのオプションの ISO 日付検出
アーキテクチャによるプライバシー: このページには入力を受け取る分析は含まれておらず、変換コードはタブで実行されます。ロード後にネットワークから切断して作業を続けることができます。
JSON ~ TypeScript — よくある質問
オプションのフィールドはどのように検出されますか?
入力がオブジェクトの配列である場合、すべての項目にわたって各プロパティがチェックされます。一部の項目にないキーには「?」が付いてオプションとしてマークされ、どこにでも存在するキーは必須のままです。
Null 許容フィールドはどのようにして型になるのでしょうか?
null は独自の型として扱われるため、文字列である場合もあれば null である場合もあるフィールドは string | 型となります。 null — コンパイラが信頼する嘘ではなく正直な型。
インターフェイスまたは型エイリアス — どちらを選択すればよいでしょうか?
インターフェイスはより一般的な規則であり、宣言にうまく統合されます。型エイリアスは、共用体と交差の場合に読みやすくなります。機能的には、生成されたデータ形状については、既存のコードベースと一致するどちらでも機能します。
Zod またはその他のランタイム スキーマを生成できますか?
直接ではありません。同じペイロードから JSON スキーマを生成してバリデータを導出するか、Zod スキーマを手動で作成してこれらのインターフェイスを静的側に使用します。型はコンパイル時に形状を記述します。バリデーターは実行時にあなたを保護します。
これは大きな API 応答に対して機能しますか?
はい。 JSON ファイルを貼り付けるかドロップします。ネストは再帰的に推論されます。非常に大きなペイロードは、ジェネレーター自体ではなくブラウザーのメモリによって制限されます。
関連ツール
“jsonからtsへ”, “jsonからインターフェースへ”, “クイックタイプの代替品” をお探しですか?あなたは正しい場所にいます — すべての 19 ツールを参照する.