第 8 课

JSON Schema 基础

用类型、必填字段与约束描述并校验 JSON 结构。

JSON Schema 是一套描述 JSON 文档规则的词汇表:有哪些字段、类型是什么、取值有何约束。团队用它校验 API 载荷、配置文件与生成数据。

最小示例

下列 schema 描述一个对象:必填字符串 name,可选数字 age

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "integer", "minimum": 0 }
  },
  "required": ["name"],
  "additionalProperties": false
}

合法实例:

{ "name": "Ada", "age": 30 }

不合法:缺少 name、类型错误,或在 additionalProperties: false 时出现未知字段。

核心关键字

关键字作用
typestringnumberintegerbooleanarrayobjectnull
properties对象各字段的结构
required必填属性名
items数组元素 schema
enum允许的枚举值
minLength / maxLength字符串长度边界

为何需要 schema

  • 前后端之间的 契约
  • 部署前在 CI 中 自动校验
  • 可机器读取的 文档
  • OpenAPI 常为请求体引用或内嵌 JSON Schema

校验流程

  1. 编写或生成期望载荷的 schema。
  2. 用校验库或工具检查 incoming JSON。
  3. 遇到真实边界情况时同步演进 schema——它与代码一样需要维护。

Schema 不能替代前面学过的 JSON 语法——它建立在「JSON 已可解析」之上,描述 允许的结构

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览