YamlBox

コードジェネレーター

JSON ~ TypeScript ジェネレータ

JSON 応答を貼り付けると、入力済みの TypeScript が表示されます。配列項目はマージされるため、オプションのフィールドが検出され、ネストされたオブジェクトは名前付きインターフェイスになり、混合型は正直な共用体になります。

変換オプション

JSON サンプル

例: ユーザーオブジェクト · オプションのフィールドを含むリスト —⌘/Ctrl + Enter 変換 · ファイルをドロップしてロード · ローカルで処理

TypeScript

出力は読み取り専用です。コピー、ダウンロード、または共有を使用して移動します。

JSON ~ TypeScript ツールの使用方法

  1. 実際の応答を貼り付けます

    運用環境で実際に見られるオプションのフィールドと null 許容フィールドを含むペイロードを使用します。より代表的なものであるほど、推論される型が適切になります。

  2. ルートタイプに名前を付けます

    ルート型にコードベース内の名前 (User、Order、ApiResponse) を付け、スタイル ガイドに一致するインターフェイスまたは型エイリアスを選択します。

  3. プロジェクトにコピーする

    結果を type ファイルに貼り付けます。実行時検証の場合は、JSON スキーマまたは Zod などの実行時検証ツールと組み合わせます。

このツールの違い

  • 配列要素の形状をマージし、非ユニバーサルキーをオプションとしてマークします
  • サイレント アニオンではなく、混合型 (文字列 | 数値、文字列 | null) のユニオン
  • キーパスから名前が付けられたネストされたオブジェクト (アドレス、証拠など)
  • カスタム ルート名を使用したインターフェイスまたはタイプ エイリアスの出力
  • タイムスタンプフィールドにフラグを立てるためのオプションの ISO 日付検出

アーキテクチャによるプライバシー: このページには入力を受け取る分析は含まれておらず、変換コードはタブで実行されます。ロード後にネットワークから切断して作業を続けることができます。

JSON ~ TypeScript — よくある質問

オプションのフィールドはどのように検出されますか?

入力がオブジェクトの配列である場合、すべての項目にわたって各プロパティがチェックされます。一部の項目にないキーには「?」が付いてオプションとしてマークされ、どこにでも存在するキーは必須のままです。

Null 許容フィールドはどのようにして型になるのでしょうか?

null は独自の型として扱われるため、文字列である場合もあれば null である場合もあるフィールドは string | 型となります。 null — コンパイラが信頼する嘘ではなく正直な型。

インターフェイスまたは型エイリアス — どちらを選択すればよいでしょうか?

インターフェイスはより一般的な規則であり、宣言にうまく統合されます。型エイリアスは、共用体と交差の場合に読みやすくなります。機能的には、生成されたデータ形状については、既存のコードベースと一致するどちらでも機能します。

Zod またはその他のランタイム スキーマを生成できますか?

直接ではありません。同じペイロードから JSON スキーマを生成してバリデータを導出するか、Zod スキーマを手動で作成してこれらのインターフェイスを静的側に使用します。型はコンパイル時に形状を記述します。バリデーターは実行時にあなたを保護します。

これは大きな API 応答に対して機能しますか?

はい。 JSON ファイルを貼り付けるかドロップします。ネストは再帰的に推論されます。非常に大きなペイロードは、ジェネレーター自体ではなくブラウザーのメモリによって制限されます。

“jsonからtsへ”, “jsonからインターフェースへ”, “クイックタイプの代替品” をお探しですか?あなたは正しい場所にいます — すべての 19 ツールを参照する.

より深い読書

ブログ記事 · 6 分で読まれました JSON~TypeScript:現実に即したタイプ 実際の API 応答 (オプションのキー、null 共用体、ネストされた型) から JSON インターフェイスを TypeScript に変換し、生成された型のドリフトを防ぎます。 ガイドを読む→