不喜欢广告? 无广告 今天

JSON 到 Zod Schema 生成器

开发人员数学
广告 移除?

选项

广告 移除?

指导

JSON 到 Zod 模式生成器

JSON 到 Zod Schema 生成器

将任意 JSON 数据转换为可直接使用的 Zod 验证模式。粘贴您的 JSON 数据,即可获得带有递归类型推断、日期、UUID、邮箱和 URL 的字符串模式检测、有限唯一值字段的自动枚举检测,以及处理对象数组时的可选字段处理的正确类型 Zod 代码。

如何使用

将您的 JSON 粘贴到输入区域,或点击示例按钮以加载示例数据。该工具会立即生成相应的 Zod 模式。可在 TypeScript 和纯 JavaScript 输出之间切换。启用严格模式以确保对象结构的精确性,或使用通过模式以允许未知键。可选择添加类型推断导出行。自定义模式变量名称,并将输出复制到剪贴板。

特征

  • 递归类型推断 – 支持嵌套对象、数组以及混合类型,使用 z.union(),以及所有基本类型
  • 字符串模式检测 – 自动检测 ISO 日期、UUID、邮箱、URL 和 IP 地址,并应用相应的 Zod 验证器
  • 枚举检测 – 当字符串字段在数组项中少于 6 个唯一值时,建议使用 z.enum() 而非 z.string()
  • 可选字段检测 – 未出现在所有数组项中的字段将自动标记为 .optional()
  • 严格模式与通过模式 – 在 .strict() 用于精确结构或 .passthrough() 允许未知键之间切换
  • TypeScript 输出 – 在 TypeScript 和纯 JavaScript 之间切换,并可选择导出 z.infer 类型
  • 实时生成 – 随着您输入或粘贴 JSON,模式会即时更新
  • 复制到剪贴板 – 一键复制生成的模式代码

广告 移除?

常问问题

  1. 什么是 Zod 以及为何应该使用它?

    Zod 是一个以 TypeScript 为基础的模式验证库,它允许您定义数据结构并在运行时进行验证。与仅在编译时存在且在生产环境中被擦除的 TypeScript 类型不同,Zod 模式会在实际数据流经应用程序时进行验证。这可以提前发现错误的 API 响应、无效的表单输入和意外的数据结构,从而避免引发错误。Zod 与 React Hook Form、tRPC 和 Next.js 服务器操作良好集成,是 TypeScript 生态系统中最受欢迎的运行时验证库。

  2. 工具是如何检测日期和邮箱等字符串模式的?

    该工具使用正则表达式匹配 JSON 值中的常见字符串模式。例如,ISO 8601 日期时间字符串如 2024-01-15T10:30:00Z 会被检测到并映射为 z.string().datetime()。UUID v4 字符串会被映射为 z.string().uuid()。邮箱地址会映射为 z.string().email(),URL 会映射为 z.string().url(),IP 地址会映射为 z.string().ip()。这意味着生成的模式包含这些常见格式的内置验证,而不仅仅是 z.string(),从而为您提供更精确的类型安全和验证,无需额外配置。

  3. 严格模式和通过模式之间的区别是什么?

    在严格模式下,生成的模式使用 z.object().strict(),这意味着任何未在模式中定义的属性都会导致验证失败。这在您希望确保没有额外数据渗入时非常有用。通过模式使用 z.object().passthrough(),允许未知属性通过而不进行验证。对于安全敏感的数据(如 API 输入),建议使用严格模式。当您只关心特定字段并希望忽略其余字段时(例如,消费第三方 API 可能会添加新字段),则使用通过模式。

  4. 如何处理对象数组中的可选字段检测?

    当您的 JSON 包含对象数组时,该工具会比较数组中的所有对象,以确定哪些字段出现在所有项目中,哪些字段仅出现在部分项目中。出现在所有对象中的字段在模式中变为必填字段,而至少在一个对象中缺失的字段则被标记为 .optional()。这在处理真实 API 响应时尤其有用,因为某些记录可能具有空值或缺失字段。该工具会智能合并所有对象结构,从而为您提供一个涵盖所有数据变化的综合模式。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?