コンテンツへスキップ
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という型情報付きの定義から正確な型・スキーマを生成します。
使い方
- JSON Schemaを入力欄に貼り付けます。
- 変換先(TypeScriptまたはZod)と、型名・変数名を指定します。
- 「変換する」ボタンをクリックすると、生成されたコードが表示されます。
入力例・出力例
入力
{"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";`を追加する必要があります。
注意点
- 型名・変数名には、英字またはアンダースコアで始まる英数字のみ使用できます。
- 変換処理はすべてブラウザ内で完結します。