JSON Schema 指南

JSON Schema 描述 JSON 数据的结构,并可自动验证文档。

核心关键字

type 限制值类型;properties 定义子字段;required 列出必填键;items 描述数组元素。

Schema 示例

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

enum 与 const

enum 允许一组固定值;const 要求恰好一个值。

{"role": {"enum": ["admin", "editor", "viewer"]}}

$ref 与可复用 Schema

$ref 指向另一个 Schema 定义,让复杂文档保持可维护。

{"$defs":{"id":{"type":"integer"},"type":"object","properties":{"id":{"$ref":"#/$defs/id"}}}