在线 JSON 转 Zod 模式生成器

从 JSON 示例即时生成 Zod 模式,就在你的浏览器中。你的 JSON 留在你的设备上。

你的 JSON 完全在你的浏览器中被解析并转换为 Zod 模式,因此它留在你的设备上,不会上传到任何服务器。

想要纯粹的 TypeScript 接口?试试 JSON 转 TypeScript。

关于 JSON 转 Zod

这款 json 转 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 转 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 转 Zod 生成器能做什么?
它会读取示例 JSON 对象或数组,并生成匹配的 TypeScript 版 Zod 模式,为每个值推断出 z.string()、z.number()、z.boolean()、z.null()、z.array() 或 z.object(),让你能将其直接放入代码库中。
它支持 Zod v4 吗?
支持。该模式使用核心构造器 z.string()、z.number()、z.boolean()、z.null()、z.array() 和 z.object(),它们在 Zod v3 与 v4 中完全相同,因此只要你从 zod 导入 z,输出在任一版本下都能工作。
可选或可空字段是如何处理的?
在示例中为 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 转 Zod 的转换完全在你的浏览器中运行,因此你粘贴的数据在本地处理,绝不离开你的设备。

相关工具

全部 ArrayKit 工具