JSON Schema 工具

如何使用 JSON Schema 工具(步骤指南)

用 JSON Schema 来沉淀 API 合同、校验 payload,并为测试与演示生成接近真实的 Mock 数据。

  1. 步骤 1:从真实样例开始

    • 先把真实的 API 响应、请求 payload 或配置 JSON 粘贴到格式化工具里。
    • 每个接口保留一份“标准样例”,避免 Schema 随意漂移。
  2. 步骤 2:生成一份基础 Schema

    • 使用 Schema 生成器推断类型、必填字段与嵌套结构。
    • 用于线上前再补充 description、format 与约束(min/max、pattern 等)。
  3. 步骤 3:用 Schema 校验 JSON

    • 把 Schema 和真实 payload 粘贴到 Schema 校验器里。
    • 根据报错修改:要么修 JSON(数据问题),要么更新 Schema(合同变更)。
  4. 步骤 4:为测试生成 Mock 数据

    • 打开 Mock 生成器,生成符合 Schema 的真实感样例。
    • 用 seed + batch size 让测试数据可复现、可批量扩展。
  5. 步骤 5:分享与复用

    • 把 Schema 放进版本库,并在 API 文档里引用。
    • 基于稳定的 JSON 样例生成 TypeScript/Java 等类型代码。

关于 JSON Schema 特性的提示

  • 有些 Schema 会依赖更高级的关键字,例如 $ref, anyOf, oneOf, 以及 allOf
  • 不同校验器对 Draft 与关键字的支持程度不一;在 CI 中建议使用完整的 JSON Schema validator 进行严格校验。
示例:JSON → JSON Schema(简化版)
// JSON input
{
  "id": 1,
  "name": "Maeve Winters",
  "active": true,
  "tags": ["developer", "backend"]
}

// Generated schema (example)
{
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "active": { "type": "boolean" },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    }
  },
  "required": ["id", "name", "active", "tags"]
}

相关工具

生成 Schema、校验数据、生成 Mock payload,并将稳定的 JSON 转成强类型代码。

常见问题

什么是 JSON Schema?

JSON Schema 是一套描述 JSON 结构与约束的规范,可用于注释、校验与自动化测试。它相当于 JSON 数据的“合同”,明确字段类型、必填项与规则。

什么时候应该生成 Schema,什么时候应该校验?

当你只有一份真实 JSON 示例,想快速推导出校验规则时用“生成”;当你已有一份 Schema,希望检查 JSON 是否符合约束时用“校验”。

Schema 生成器和校验器有什么区别?

Schema 生成器会根据你的 JSON 样例生成一份新的 JSON Schema;Schema 校验器则用已有 Schema 检查 JSON 数据是否符合规则与约束。

可以使用其他工具生成的 Schema 吗?

可以。两种工具都支持常见的 JSON Schema Draft(4/6/7/2019-09),你可以从其他系统导入 Schema,也可以导出后在其他地方复用。

JSON Schema 工具 | JSONSwiss