💎 雨云 RainYun - 企业级云计算服务提供商
Zod logo

简介

编辑此页面
Zod logo

Zod

带有静态类型推断的 TypeScript 优先 schema 验证
作者 @colinhacks


Zod CI 状态由 Colin McDonnell 创建许可证npmstars
网站  •  Discord  •  𝕏  •  Bluesky

Zod 4 已稳定。请阅读 发布说明迁移指南




简介

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

import * as z from "zod";
 
const User = z.object({
  name: z.string(),
});
 
// 一些不可信的数据...
const input = { /* stuff */ };
 
// 解析后的结果经过验证,并且类型安全!
const data = User.parse(input);
 
// 所以你可以放心使用它 :)
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 或基于 Zod 构建的库列表,请参阅 生态系统页面

我也为以下项目做出了贡献,我想特别推荐它们:

  • tRPC - 端到端类型安全 API,支持 Zod schemas
  • React Hook Form - 基于 Hook 的表单验证,带有 Zod resolver
  • zshy - 最初作为 Zod 的内部构建工具创建。面向 TypeScript 库的无打包器、开箱即用构建工具。由 tsc 驱动。

赞助

欢迎并鼓励任何级别的赞助。如果你使用 Zod 构建了付费产品,请考虑选择 企业赞助档位 之一。

白金

CodeRabbit logo (light theme)

Cut code review time & bugs in half

coderabbit.ai


黄金

Zernio logo (light theme)

Social APIs for developers and AI agents

zernio.com
Neon logo (light theme)

Serverless Postgres — Ship faster

neon.tech
Stainless logo (light theme)

Generate best-in-class SDKs

stainlessapi.com

白银


青铜


On this page