このツールについて
JSON から Zod スキーマへのツールは、貼り付けた JSON サンプルをすぐに使える Zod スキーマと対応する TypeScript 型に変換します。Zod は TypeScript の主要なバリデーションライブラリであり、実際の API ペイロードに対して z.object のツリーを手書きするのは遅くミスも起きやすい作業です。このコンバーターは JSON.parse で JSON を解析し、値を再帰的にたどって慣用的な Zod を出力します。文字列は z.string()、整数は z.number().int()、その他の数値は z.number()、真偽値は z.boolean()、null は z.null()、ネストしたオブジェクトはそれぞれ名前付きの z.object({...}) スキーマになります。
すべてブラウザ内でローカルに実行されます。JSON はページ内で解析されアップロードされないため、機微なペイロードはお使いのデバイスから外に出ません。配列はすべての要素を深くマージして要素型を推論するため、キーがわずかに異なるオブジェクトの配列でも、一部の要素に欠けているキーが .optional() として記される 1 つのスキーマが生成されます。ISO-8601 の日時文字列は認識され z.string().datetime() として出力されます。有効な識別子ではないオブジェクトキーは安全にクォートされます。
出力は完全なモジュールです。各オブジェクトスキーマのエクスポートされた const(子は参照する親より前に定義されます)に続き、export type Root = z.infer<typeof Root> が出力されるため、コンパイル時の型が無料で手に入ります。ルート名のボックスでトップレベルスキーマの名前を変更でき、欠損キートグルで欠けているキーを .optional()(既定)または .nullable() として扱えます。結果はコピーするか .ts ファイルとしてダウンロードできます。