分类

JSON Schema 转 Zod Schema 转换器

将标准 JSON Schema 的 JSON/YAML 定义转换为可直接在 TypeScript 项目中使用的 Zod 运行时校验代码,支持嵌套结构、数组、枚举和常见校验规则

示例结果

1 个示例

将对象 Schema 转为 Zod 校验器

根据 JSON Schema 生成带必填、可选字段和常见校验规则的 Zod 对象 Schema

import { z } from 'zod'

export const userSchema = z.object({ email: z.string().email(), age: z.number().int().min(18).optional() })

export type UserSchema = z.infer<typeof userSchema>
查看输入参数
{ "schemaInput": "{\n \"type\": \"object\",\n \"required\": [\"email\"],\n \"properties\": {\n \"email\": { \"type\": \"string\", \"format\": \"email\" },\n \"age\": { \"type\": \"integer\", \"minimum\": 18 }\n }\n}", "sourceFormat": "json", "rootSchemaName": "userSchema", "namingStyle": "camel", "outputMode": "schema-and-type", "includeDescriptions": true }

关键信息

分类
Development
输入类型
textarea, select, text, checkbox
输出类型
text
样本覆盖
4
支持 API
Yes

概览

JSON Schema 转 Zod Schema 转换器是一款专为 TypeScript 开发者设计的效率工具,能够将标准的 JSON Schema(支持 JSON 或 YAML 格式)一键转换为 Zod 运行时校验代码,自动处理嵌套对象、数组、枚举及各类校验规则,大幅减少手动编写验证逻辑的时间。

适用场景

  • 在 TypeScript 项目中需要根据现有的 API 文档或 JSON Schema 定义快速生成运行时校验代码时。
  • 当需要从后端定义的 JSON Schema 自动同步前端数据验证逻辑以确保类型安全时。
  • 在处理复杂的嵌套数据结构,手动编写 Zod Schema 容易出错或效率低下时。

工作原理

  • 在输入框中粘贴您的 JSON Schema 内容,支持 JSON 或 YAML 格式。
  • 根据需求选择命名风格(如 camelCase 或 PascalCase)及输出模式。
  • 点击转换,工具将自动解析结构并生成对应的 Zod 代码及 TypeScript 类型定义。
  • 直接复制生成的代码到您的项目中即可使用。

使用场景

前后端数据契约同步:将后端提供的 JSON Schema 快速转化为前端 Zod 校验器。
表单验证逻辑生成:根据复杂的 JSON 数据结构自动生成对应的 Zod 表单验证 Schema。
遗留项目重构:将旧有的 JSON 格式配置转换为现代化的 Zod 类型安全校验代码。

用户案例

1. 用户注册信息校验

前端开发工程师
背景原因
后端团队提供了一份用户注册的 JSON Schema,包含邮箱格式校验和年龄最小限制。
解决问题
手动编写对应的 Zod Schema 容易遗漏字段或校验规则。
如何使用
将 JSON Schema 粘贴至输入框,选择“Schema + 推断类型”模式,设置根名称为 userSchema。
示例配置
namingStyle: camel, outputMode: schema-and-type
效果
生成了包含 z.string().email() 和 z.number().min(18) 的完整 Zod 代码及对应的 TypeScript 接口。

用 Samples 测试

json, yaml

相关专题

常见问题

该工具支持哪些格式的输入?

支持标准的 JSON Schema 定义,输入格式可以是 JSON 或 YAML。

生成的代码包含 TypeScript 类型定义吗?

是的,您可以选择“Schema + 推断类型”模式,工具会自动生成对应的 z.infer 类型定义。

支持嵌套对象和数组吗?

支持,工具能够递归解析嵌套的 object 和 array 结构,并生成对应的 Zod 嵌套校验逻辑。

可以自定义生成的 Schema 变量名吗?

可以,通过“根 Schema 名称”选项,您可以指定生成的变量名称。

转换后的代码可以直接在生产环境使用吗?

生成的代码是标准的 Zod 语法,完全符合 TypeScript 开发规范,可直接集成到您的项目中。

API 文档

请求端点

POST /zh/api/tools/json-schema-to-zod-schema-converter

请求参数

参数名 类型 必填 描述
schemaInput textarea -
sourceFormat select -
rootSchemaName text -
namingStyle select -
outputMode select -
includeDescriptions checkbox -

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-json-schema-to-zod-schema-converter": {
      "name": "json-schema-to-zod-schema-converter",
      "description": "将标准 JSON Schema 的 JSON/YAML 定义转换为可直接在 TypeScript 项目中使用的 Zod 运行时校验代码,支持嵌套结构、数组、枚举和常见校验规则",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-schema-to-zod-schema-converter",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]