本工具旨在帮助开发者快速将任意JSON数据结构转换为对应的TypeScript Zod Schema代码。Zod是一个流行的TypeScript优先的声明式验证库,它允许你用简洁的语法定义数据的形状和类型,并在运行时进行验证,同时提供强大的TypeScript类型推断能力。通过本工具,你可以轻松地将API返回的数据、配置文件、或者任何结构化的JSON数据快速生成可用于校验的Zod模式,极大地提高了开发效率和代码的类型安全性。
z.infer类型定义。输入参数的格式和要求: 请确保输入的是格式良好、有效的JSON字符串。工具将自动解析并尝试推断出最合适的Zod类型(如字符串、数字、布尔值、对象、数组等)。
输出结果的格式: 输出结果是标准的TypeScript代码,包含import { z } from 'zod';语句以及一个或多个Zod Schema定义。
以下是一个将JSON数据转换为Zod Schema的实际案例:
{
"userId": 123,
"userName": "John Doe",
"email": "john.doe@example.com",
"isActive": true,
"roles": ["admin", "editor"],
"profile": {
"age": 30,
"city": "New York"
},
"lastLogin": null
}
import { z } from 'zod';
const UserProfileSchema = z.object({
age: z.number(),
city: z.string(),
});
const UserSchema = z.object({
userId: z.number(),
userName: z.string(),
email: z.string().email(), // 邮箱类型会根据格式自动推断或需要手动完善
isActive: z.boolean(),
roles: z.array(z.string()),
profile: UserProfileSchema,
lastLogin: z.null().or(z.string().datetime()), // null或日期字符串,可能需要手动调整
});
// 可选:生成TypeScript类型
// type User = z.infer;
z.string())、数字 (z.number())、布尔值 (z.boolean())、对象 (z.object())、数组 (z.array()) 和 null (z.null())。对于特定格式的字符串(如邮箱、URL、日期时间),工具会尝试推断或建议手动优化为z.string().email(), z.string().url(), z.string().datetime()等。.optional()修饰符,例如:fieldName: z.string().optional()。z.enum(['value1', 'value2'])或z.union([z.literal(1), z.literal(2)])等形式。.datetime()、.email()、.url()等)以确保最高的准确性。.optional()修饰符。暂无评论
成为第一个评论的人吧!
2025.12-04