コンテンツへスキップ
uencoder

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

JSON サンプルから TypeScript の型を推論し、インターフェースを手書きせずに API レスポンスに型を付けられます。

  1. 1

    API が型なしの JSON を返す場合、サンプルレスポンスから形を推論できます。ジェネレータはキー、値の型、ネストを調べて、観測された構造に一致するインターフェースを生成します。

  2. 2
    JSON から TypeScript への変換 →

    JSON サンプルを(理想としては全フィールドが埋まったレスポンスを)貼り付けます。ツールはネストされたオブジェクト、配列、スカラーに適切な型を付けた TypeScript インターフェースを出力します。

  3. 3

    チェーンを使って JSON をパースし、型を推論し、一貫した命名(インターフェースは PascalCase、プロパティは camelCase)でフォーマット済み TypeScript を生成します。

  4. 4

    出力をレビューしてください。オプションフィールド(サンプルで null または欠落)には ? を付けるべきです。ユニオン型(あるフィールドが時々 string、時々 number になる)には手動調整が必要です。ジェネレータは 1 つのサンプルしか見ていません。

よくある質問

生成された型が厳しすぎます。実際には省略可能なフィールドがあります。
ジェネレータは、サンプルで null または欠落しているフィールドのみをオプションとマークします。サンプルにたまたまフィールドが含まれていると、必須になります。他のレスポンスで欠落する可能性のあるフィールドには手動で ? を付けてください。
推論された型を本番で信頼すべきですか?
推論された型は出発点であって契約ではありません。1 つのサンプルを反映したものであり、API の完全なスキーマではありません。本番では、API の OpenAPI/JSON Schema 仕様に対して検証するか、ランタイムバリデータ(zod、io-ts)で形状変更を防御してください。

このタスクを解決するワークフロー

JSON 経由で 2 つの YAML 設定を比較
構造化された値の差分比較しやすいように、YAML 設定を JSON に変換する。
パイプライン
URL 転送用の JSON ペイロードのエンコード
JSON ドキュメントを URL パラメータ用に準備する: 整形、Base64 エンコード、パーセントエンコード — ネストされたパラメータデコードチェーンの正確な逆順。
パイプライン
HJSON から JSON フォーマットへ変換
HJSON をフォーマットし、標準 JSON に変換する。
パイプライン
JSON フォーマットと整合性チェックサム計算
JSON ドキュメントを整形し、以降の変更を検出するために CRC32 チェックサムを計算する。
パイプライン
JSON のミニファイと検証
検査のために JSON をフォーマットし、1 パスで構文的に正しいことを検証する。
パイプライン
JSON フォーマットと TypeScript インターフェース生成
JSON ドキュメントをフォーマットし、1 チェーンで TypeScript インターフェース定義を推論する。
パイプライン
JSON から TypeScript とフォーマット
JSON を TypeScript インターフェースに変換し、その後出力をフォーマットする。
パイプライン
TypeScript 型と JSON Schema の生成
エンドツーエンドの型安全性のために、サンプル JSON から TypeScript インターフェースと JSON Schema を導出する。
パイプライン
検証、フォーマット後 JSON から YAML へ変換
(ミニファイの可能性がある)JSON 設定を YAML に変換し、微妙に誤った YAML を生成成する代わりに最初のノードで構文エラーを捕捉する。
パイプライン
JSON5 から JSON フォーマットへ変換
JSON5 をフォーマットし、標準 JSON に変換する。
パイプライン
JSONC から JSON フォーマットへ変換
JSONC(コメント付き JSON)をフォーマットし、標準 JSON に変換する。
パイプライン
JWT ペイロードのデコードとフォーマット
JWT トークンを解析し、ペイロードを抽出し、検査のために JSON をフォーマットする。
パイプライン
クエリ文字列解析と JSON フォーマット
クエリ文字列をキー・バリューペアに解析し、その後 JSON としてフォーマットする。
パイプライン
TOML から JSON へ変換
TOML 設定ファイルを JSON 入力を期待するツールや API のために解析する。
パイプライン
JSON 経由で TOML から YAML へ変換
TOML 設定ファイルを YAML 形式に変換し、JSON を中間表現として使用する。
パイプライン
ネストされた URL パラメータのデコード(Base64 JSON)
URL エンコード Base64 JSON を運ぶ URL パラメータを可読なフォーマット済み JSON に展開する。
パイプライン
YAML から TypeScript インターフェースを生成
YAML ドキュメントを TypeScript インターフェース定義に変換し、JSON を中間フォーマットとして使用する。
パイプライン

関連ツール