JSON to Zod スキーマ生成(オンライン)

JSONサンプルからZodスキーマをブラウザ内で即座に生成。JSONは端末上に留まります。

JSONはすべてブラウザ内で解析・Zodスキーマに変換されるため、端末上に留まり、サーバーへ何もアップロードされません。

素のTypeScriptインターフェースが欲しいですか?JSON to TypeScriptをお試しください。

JSON to Zod について

このJSON to Zodコンバーターは、サンプルのJSONオブジェクトや配列を、すぐに使えるZodスキーマに数秒で変換します。実際のAPIレスポンスを貼り付けると各値を推論します。文字列は z.string()、整数は z.number().int()、小数は z.number()、真偽値は z.boolean()、nullは z.null() になります。配列は要素の形を統一した z.array() に、ネストしたオブジェクトはネストした z.object({...}) になり、スキーマがデータをそのまま反映します。バリデーターを手書きする代わりに手軽なZodスキーマ生成ツールが欲しいTypeScript開発者のために作られています。フォームバリデーションの組み込み、エンドポイントの型付け、見慣れないペイロードを探索しながらJSONからZodを生成する、といった場面でお使いください。ルートスキーマに名前を付け、必要に応じて推論型をエクスポートできます。すべてはブラウザ内でローカルに動作するため、貼り付けたJSONは端末上で処理され、サーバーへ何もアップロードされません。

機能

JSON to Zod の使い方

  1. JSONオブジェクトまたは配列を入力ボックスに貼り付けます。
  2. スキーマ名を設定するか、Schemaのままにします。
  3. 推論型のエクスポートを必要に応じてオン・オフします。
  4. 生成されたZodスキーマを確認し、コピーするか .ts ファイルとしてダウンロードします。

入力

{ "id": 1, "name": "Ada", "tags": ["a", "b"] }

出力

export const Schema = z.object({
  id: z.number().int(),
  name: z.string(),
  tags: z.array(z.string()),
});

フラットなJSONオブジェクトが型付きの z.object スキーマになります。

よくあるエラーとトラブルシューティング

よくある質問

JSON to Zodジェネレーターは何をしますか。
サンプルのJSONオブジェクトや配列を読み取り、各値に対して z.string()・z.number()・z.boolean()・z.null()・z.array()・z.object() を推論して、対応するZodスキーマをTypeScriptで生成します。結果はそのままコードベースに組み込めます。
Zod v4に対応していますか。
はい。スキーマは z.string()・z.number()・z.boolean()・z.null()・z.array()・z.object() というコアのコンストラクタを使います。これらはZod v3とv4で同一なので、zodから z をインポートすればどちらのバージョンでも動作します。
オプショナルやnull許容のフィールドはどう扱われますか。
サンプルで null のフィールドは z.null() になります。単一のサンプルではどのキーがオプショナルか判断できないため、自動では .optional() を付けません。フィールドが欠けうる、またはnullになりうる箇所には自分で .optional() や .nullable() を加えてください。
整数と小数はどう区別しますか。
サンプル中の整数は z.number().int() に、小数部を持つ数値は z.number() になります。フィールドが両方を取りうる場合は、どちらも受け付けるよう生成された行を z.number() に変更してください。
ネストしたオブジェクトや配列はどう変換されますか。
ネストしたオブジェクトはネストした z.object({...}) になりスキーマがJSONを反映します。配列は要素スキーマを内側に持つ z.array() になります。空の配列は z.array(z.unknown()) になります。
Zodスキーマを生成するとき、JSONはどこかに送信されますか。
いいえ。JSON to Zodの変換は完全にブラウザ内で動作するため、貼り付けたデータはローカルで処理され、端末から外に出ることはありません。

関連ツール

すべての ArrayKit ツール