JSON → Zod スキーマ

JSONデータからZodバリデーションスキーマを即座に生成。ネストオブジェクト・配列・nullable・省略可能プロパティに対応。ブラウザ完結。

100% クライアントサイド データはブラウザ外に出ません 無料 · 登録不要
JSON 入力
Zod スキーマ出力

使い方

  1. 左パネルに JSONデータ を貼り付けます(またはサンプルをクリック)。
  2. ルートスキーマ名を設定します(エクスポート定数と型名に使用)。
  3. 必要に応じてストリクトモードを有効にします。
  4. Zodスキーマを生成をクリックします。
  5. コピーをクリックしてプロジェクトに貼り付けます。

出力形式

完全なTypeScriptスニペットを出力します:

  • import { z } from “zod” — Zodインポート
  • const FooSchema = z.object({…}) — スキーマ定義
  • export type Foo = z.infer<typeof FooSchema> — 推論されたTypeScript型

主な用途

  • APIバリデーション:APIレスポンス例からスキーマを生成し、実際のレスポンスを実行時に検証。
  • フォームバリデーション:フォームのデータ形状をZodスキーマに変換してreact-hook-formなどで活用。
  • 設定ファイル:JSONファイルから読み込む設定オブジェクトの定義と検証。
  • 型安全性:TypeScriptと組み合わせて1つのスキーマから実行時検証と静的型推論を同時に取得。

FAQ

Zodとは何ですか?

ZodはTypeScriptファーストのスキーマ宣言・バリデーションライブラリです。データの形状をスキーマで定義し、実行時にデータを検証できます。APIレスポンス検証・フォームバリデーション・設定ファイル解析に広く使われています。

型の推論はどう行われますか?

各JSON値を検査します:文字列→z.string()、真偽値→z.boolean()、整数→z.number().int()、浮動小数点→z.number()、null→z.null()、配列→z.array()、オブジェクト→z.object()。オブジェクトの配列では、一部のアイテムにしか存在しないキーはoptionalとしてマークされます。

ストリクトモードとは何ですか?

ストリクトモードを有効にすると、すべてのz.object()に.strict()が追加されます。スキーマに定義されていない余分なキーを含む入力オブジェクトはZodに拒否されます。無効時は余分なキーが無視されます(Zodのデフォルト動作)。

生成されたスキーマはそのまま使えますか?

生成スキーマは良い出発点です。文字列・数値への.min()/.max()制約追加、nullableフィールドの.nullable().optional()への変更、ネストスキーマの個別定数への分割など、プロジェクトに合わせて調整することをお勧めします。

JSONデータはサーバーに送信されますか?

いいえ。すべての処理はブラウザ内で完結します。JSONデータがデバイス外に出ることはありません。