JSON to Zod
Generate Zod schemas from JSON
スキーマ設定
const としてエクスポートされます。推論した型は Root としてエクスポートされます。
JSON 入力
制限:ファイル 5 MiB または 5,242,880 文字、入れ子 256 階層。
Zod スキーマ
配列の要素はすべて確認されます。型が異なる場合は z.union(...)、一部のオブジェクトにないキーは .optional() になります。結果は出発点として扱い、形式、列挙、範囲などで厳密にしてください。
JSON to Zod でできること
JSON to Zod はサンプル JSON から、TypeScript の実行時検証に使える Zod スキーマを作成します。JSON はまずライブラリに依存しないスキーマツリーに推論され、その後 Zod コードとして出力されます。文字列、数値、真偽値、null、入れ子のオブジェクト、配列、オブジェクトの配列に対応します。ダウンロードされる .ts モジュールには import { z } from "zod"、エクスポートされたスキーマ、z.infer で作成した型が含まれます。
使い方
- 1.サンプル JSON を貼り付けるか、.json ファイルをアップロードまたはエディターにドロップするか、例を読み込みます。
- 2.ルートスキーマ名を設定します(例:UserSchema)。エクスポートされる型は User になります。
- 3.生成されたコードと、不確かな型に関する注意を確認します。
- 4.コードをコピーするか .ts ファイルとしてダウンロードします。クリアでエディターを空にします。
型の推論方法
- •先頭だけでなく配列のすべての要素を確認します。種類の異なる要素は z.union([...]) になります。
- •同じ配列内のオブジェクトは統合されます。一部のオブジェクトにないキーは .optional() に、ときどき null になるキーは z.null() との共用体になります。
- •空の配列には手がかりがないため、要素は z.unknown() になり注意が表示されます。
- •常に null の値はサンプルから実際の型を判断できないため、注意付きで z.null() のままになります。
- •キーは常に引用符で囲まれるため、"user-id" や "__proto__" のような名前も安全に扱えます。
制限と精度
サンプルはある時点のデータの形を示すだけで、完全な契約ではありません。API が保証している場合は、形式(email、url、datetime)、列挙、min/max、.strict() などを自分で追加してください。JavaScript の安全な範囲を超える整数は、解析時に精度が落ちるため注意が表示されます。入力は 5 MiB、入れ子 256 階層までで、すべてブラウザー内で処理されます。
