什么是 JSON Schema?

JSON Schema 是一种词汇表,允许您注释和验证 JSON 文档。它描述 JSON 数据的结构、约束和文档,支持自动验证和文档生成。

快速了解

全称JSON Schema 规范
创建时间2009 年(首个草案)
规范文档官方规范

JSON Schema 工作原理

JSON Schema 为给定应用程序所需的 JSON 数据以及如何与之交互提供了契约。它可以验证数据类型、必需属性、字符串模式、数值范围、数组长度等。JSON Schema 本身用 JSON 编写,易于理解和生成。它支持 $ref 用于可重用定义、allOf/anyOf/oneOf 用于组合,以及 if/then/else 用于条件验证。JSON Schema 广泛用于 API 文档(OpenAPI)、配置验证和表单生成。

主要特点

  • 用 JSON 格式编写
  • 验证数据类型、格式和约束
  • 支持 $ref 用于可重用定义
  • 使用 allOf、anyOf、oneOf 进行组合
  • 使用 if/then/else 进行条件验证
  • 用于 OpenAPI/Swagger 规范

常见用途

  1. API 请求/响应验证
  2. 配置文件验证
  3. 表单生成和验证
  4. 文档生成
  5. 数据交换契约

示例

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "age": {
      "type": "integer",
      "minimum": 0,
      "maximum": 150
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" },
      "uniqueItems": true
    }
  },
  "required": ["id", "name", "email"],
  "additionalProperties": false
}

QubitTool 相关工具

相关概念