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

简介

Edit this page
Zod logo

Zod

TypeScript 优先的模式验证与静态类型推断
作者 @colinhacks


Zod CI 状态由 Colin McDonnell 创建许可证npmStar 数
官网  •  Discord  •  𝕏  •  Bluesky

Zod 4 已稳定发布!阅读发行说明




Featured sponsor: Jazz

Jazz logo

Interested in featuring? Get in touch.

介绍

Zod 是一个 TypeScript 优先的验证库。使用 Zod,你可以定义模式来验证数据,从简单的 string 到复杂的嵌套对象。

import * as z from "zod";
 
const User = z.object({
  name: z.string(),
});
 
// 一些不可信的数据...
const input = { /* 内容 */ };
 
// 解析结果是验证过且类型安全的!
const data = User.parse(input);
 
// 因此你可以放心使用 :)
console.log(data.name);

特性

  • 零外部依赖
  • 支持 Node.js 和所有现代浏览器
  • 极简:核心包大小 2kb(压缩后)
  • 不可变 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 或基于 Zod 构建的库的完整列表。

我还参与了以下项目,想要特别强调:

  • tRPC - 端到端类型安全的 API,支持 Zod 模式
  • React Hook Form - 基于 Hook 的表单验证,带有 Zod 解析器
  • zshy - 最初作为 Zod 的内部构建工具创建。无捆绑、内置电池的 TypeScript 库构建工具。由 tsc 提供支持。

赞助商

任何级别的赞助都受到欢迎和鼓励。如果您使用 Zod 构建了付费产品,请考虑其中一个 企业级别

白金赞助

CodeRabbit logo (light theme)

Cut code review time & bugs in half

coderabbit.ai


黄金赞助

Courier logo (light theme)

The API platform for sending notifications

courier.com
Liblab logo (light theme)

Generate better SDKs for your APIs

liblab.com
Neon logo (light theme)

Serverless Postgres — Ship faster

neon.tech
Retool logo (light theme)

Build AI apps and workflows with Retool AI

retool.com
Stainless logo (light theme)

Generate best-in-class SDKs

stainlessapi.com
Speakeasy logo (light theme)

SDKs & Terraform providers for your API

speakeasy.com

白银赞助


铜牌赞助


On this page