直接回答
JSONからZod生成は1つの例で観測した型と値からschemaを推論します。 下書きには便利ですが、未出現のoptionalフィールド、すべてのunion分岐、業務制約は判断できません。
Zodの土台を生成し、実データのテストで安全に仕上げてください。
入力 JSON
出力 Zod Schema
1import { z } from "zod";23export const schema = z.object({4user: z.object({5id: z.number().int(),6name: z.string(),7email: z.string().email(),8isActive: z.boolean(),9roles: z.array(z.string()),10profile: z.object({11age: z.number().int(),12address: z.object({13city: z.string(),14zip: z.string(),15}),16}),17lastLogin: z.string().datetime(),18}),19});20export type Schema = z.infer<typeof schema>;21
使い方
- JSONを貼り付け/アップロードし、対応する公開例も利用できます。
- Schema名、スタイル、unknown keys、optional、description、enum detection、整形を設定します。
- ネスト型と制約を確認し、正常・異常payloadでテストして
.tsを保存します。
主な機能と設定
- ネストしたZod object、array、scalar schemaを生成。
- Schema名とコードスタイルを設定。
- unknown keys方針とoptionalフィールド。
- description、enum detection、整形済みTypeScript出力。
対応する入力と出力
入力: JSONテキストまたはファイル, 対応する公開URL. 出力: .ts.
利用例
- APIレスポンスのランタイム検証を素早く開始。
- フォームやWebhookペイロードのschema下書き。
- ランタイムschemaとTypeScriptモデルを揃える。
どのワークフローを選ぶべきか
JSONからZod Schema生成:ネストしたZod object、array、scalar schemaを生成。 JSONからTypeScript変換ツール:interfaceまたはtype aliasを生成。
プライバシーとデータ経路
現在の実装では貼り付け/アップロード内容はブラウザで処理されますが、「Extract from URL」はサーバー側proxyで取得します。
制限とトラブル対処
- 1つのpayloadでは欠けたフィールド、nullable、すべてのunion変種を把握できません。
- 単一例からのliteral/enum推論は狭すぎる場合があるため、代表データで修正してください。
- すべての端末に共通する容量保証はなく、大きな入力の処理性能はブラウザメモリと端末性能に左右されます。
FAQ
生成したZod Schemaをそのまま本番利用できますか?
先に確認とテストが必要です。 複数の正常・異常payloadで試し、optional、nullable、union、範囲、業務ルールを手動で補ってください。
データはサーバーへアップロードされますか?
現在の実装では貼り付け/アップロード内容はブラウザで処理されますが、「Extract from URL」はサーバー側proxyで取得します。
ファイルやデータの上限はありますか?
すべての端末に共通する容量保証はなく、大きな入力の処理性能はブラウザメモリと端末性能に左右されます。
スマートフォンでも使えますか?
Webツールのため最新のモバイルブラウザで動く可能性はありますが、ファイル選択、メモリ、端末ごとの互換性は全環境で確認されていません。 大きい・複雑な入力にはデスクトップブラウザを推奨します。
どのワークフローを選ぶべきか
JSONからZod Schema生成:ネストしたZod object、array、scalar schemaを生成。 JSONからTypeScript変換ツール:interfaceまたはtype aliasを生成。
関連ツール
Zodの土台を生成し、実データのテストで安全に仕上げてください。