💎 Zod 4 现已发布稳定版! 阅读公告。
Zod logo
Zod logo

Zod

面向 TypeScript 的模式验证,支持静态类型推断
作者:@colinhacks


Zod CI statusCreated by Colin McDonnellLicensenpmstars
网站  •  Discord  •  𝕏  •  Bluesky

Zod 4 现已发布稳定版!在此阅读 发布说明




精选赞助商Jazz

Jazz logo

有兴趣展示? 联系我们。

介绍

Zod 是一个 TypeScript 优先的验证库。使用 Zod,您可以定义模式 (schemas),并用其验证从简单的 string 到复杂的嵌套对象等各种数据。

import * as z from "zod";
 
const User = z.object({
  name: z.string(),
});
 
// some untrusted data...
const input = { /* stuff */ };
 
// the parsed result is validated and type safe!
const data = User.parse(input);
 
// so you can use it with confidence :)
console.log(data.name);

特性

  • 零外部依赖
  • 可在 Node.js 和所有现代浏览器中运行
  • 体积轻量:核心包仅 2kb (Gzip 压缩后)
  • 不可变 API:方法返回新实例
  • 简洁的接口
  • 兼容 TypeScript 和纯 JS
  • 内置 JSON Schema 转换
  • 庞大的生态系统

安装

npm install zod

Zod 也可以在 jsr.io 上作为 @zod/zod 使用。

Zod 提供了一个 MCP 服务器,代理可以使用它来搜索 Zod 文档。要添加到您的编辑器中,请按照这些说明操作。Zod 还提供了一个 llms.txt 文件。

要求

Zod 已针对 TypeScript v5.5 及更高版本进行测试。旧版本可能可以使用,但官方不提供支持。

"strict"

您必须在 tsconfig.json 中启用 strict 模式。这是所有 TypeScript 项目的最佳实践。

// tsconfig.json
{
  // ...
  "compilerOptions": {
    // ...
    "strict": true
  }
}

生态系统

Zod 拥有繁荣的库、工具和集成生态系统。有关支持 Zod 或基于其构建的库的完整列表,请参阅生态系统页面

我也为以下项目做出了贡献,并希望重点推荐:

  • tRPC - 端到端类型安全 API,支持 Zod 模式
  • React Hook Form - 带有 Zod 解析器的基于 Hook 的表单验证
  • zshy - 最初作为 Zod 的内部构建工具创建。免打包、功能齐全的 TypeScript 库构建工具。由 tsc 驱动。

赞助商

任何级别的赞助我们都非常感激并鼓励。如果您使用 Zod 构建了付费产品,请考虑企业级赞助

白金赞助

CodeRabbit logo (light theme)

将代码审查时间和错误减少一半

coderabbit.ai


黄金赞助

Courier logo (light theme)

发送通知的 API 平台

courier.com
Liblab logo (light theme)

为您的 API 生成更好的 SDK

liblab.com
Neon logo (light theme)

Serverless Postgres — 交付更快速

neon.tech
Retool logo (light theme)

使用 Retool AI 构建 AI 应用和工作流

retool.com
Stainless logo (light theme)

生成一流的 SDK

stainlessapi.com
Speakeasy logo (light theme)

为您的 API 提供 SDK 和 Terraform 驱动程序

speakeasy.com

白银赞助


青铜赞助


本页内容