JSON Schema to TypeScript / Zod
JSON Schemaから、TypeScriptのinterfaceまたはZodスキーマのコードを生成します。
概要
JSON Schemaを入力すると、対応するTypeScriptのinterface定義、またはZodのバリデーションスキーマのコードを生成するツールです。
object・string・number・integer・boolean・array・enumの各型、およびrequiredによる必須/任意プロパティの区別に対応しています。
既存のjson-to-typescript(JSONの値から型を推測するツール)とは異なり、JSON Schemaという型情報付きの定義から正確な型・スキーマを生成します。
使い方
- 1
JSON Schemaを入力欄に貼り付けます。
- 2
変換先(TypeScriptまたはZod)と、型名・変数名を指定します。
- 3
「変換する」ボタンをクリックすると、生成されたコードが表示されます。
入力例・出力例
入力
{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}出力
export interface Root {
id: string;
}利用シーン
APIドキュメント(OpenAPIなど)のスキーマ定義から、フロントエンドで使うTypeScriptの型を生成する
JSON Schemaベースのバリデーションを、Zodを使ったランタイムバリデーションへ置き換える
JSON Schemaが表す構造を、コードとして分かりやすく確認する
よくある質問
$refによるスキーマの参照には対応していますか?
いいえ。現在は$refを使わない、単一のスキーマ定義のみに対応しています。
oneOf・anyOf・allOfには対応していますか?
いいえ。現在対応しているのはtype・properties・required・items・enumのみです。
生成されたコードはそのまま実行できますか?
TypeScriptのinterfaceはそのまま利用できます。Zodのコードは、別途`import { z } from "zod";`を追加する必要があります。
注意点
型名・変数名には、英字またはアンダースコアで始まる英数字のみ使用できます。
変換処理はすべてブラウザ内で完結します。
関連ツール
JSONからTypeScriptの型定義を生成(変換)します。
JSONの形式が正しいかどうかを検証(バリデーション)します。
JSONをYAML形式に変換(コンバーター)します。