data

JSON Schema 生成器

根据 JSON 样例生成 JSON Schema,并在浏览器本地用 Draft 2020-12 或 Draft 7 校验数据。

JSON Schema 课程

学习 JSON Schema 如何描述数据契约、校验载荷,并随 API 与配置文件演进。

课程首页

相关工作流指南: 为什么 API 调试适合用本地浏览器工具

关于此工具

DevCove JSON Schema 生成器可以把一份 JSON 样例转换成可继续编辑的 Schema 起点,并在同一个工作区用该 Schema 校验另一份 JSON。适合 API 响应、Mock 数据、测试 fixture、配置文件和接口文档草稿。生成与校验都在浏览器本地完成。

如何使用

当你手上有真实 JSON 样例,需要为 API 校验、Mock 数据或文档快速建立 Schema 时,可以使用这个工具。

  1. 在 JSON 样例中粘贴具有代表性的对象或数组,或直接使用已加载的 API response 示例。
  2. 新项目建议选择 Draft 2020-12;如果现有校验器或平台仍要求旧版本,则选择 Draft 7。
  3. 样例应决定必填字段时选择严格必填;如果想先得到更宽松的起点,选择宽松。
  4. 保持字符串格式推断开启,可识别 email、URI、UUID、date、date-time 等常见格式。
  5. 点击生成 Schema,并在把它当作接口契约前检查生成结果。
  6. 在待校验 JSON 中粘贴另一份数据,点击校验数据,检查它是否符合当前 Schema。
  7. 确认 Schema 符合 API、fixture 或文档需求后,复制或下载结果。

功能特点

这是独立的 Schema 工作区,与 JSON Formatter 分开,面向需要复用校验契约的开发流程:

  • 支持从对象、数组、嵌套对象、对象数组、基础类型和 null 值生成 JSON Schema。
  • 默认使用 JSON Schema Draft 2020-12,同时提供 Draft 7 以兼容旧校验器。
  • 严格 / 宽松两种必填策略,控制样例对 required 字段的约束强度。
  • 合并数组元素样例;只有每一行都出现的字段才会在严格模式下标为必填。
  • 当样例混合 null 和具体值时,自动推断可空字段。
  • 可选推断 email、URI、UUID、date、date-time 等字符串格式。
  • 使用本地 Ajv 对生成或粘贴的 Schema 进行 JSON 校验。
  • 校验错误包含路径、关键词和参数,便于定位字段问题。
  • 支持复制和下载生成的 Schema 文件。
  • 100% 浏览器本地处理:样例、Schema 和校验数据不会上传。

常见问题

什么是 JSON Schema?

JSON Schema 是描述 JSON 数据结构的规范,可以定义对象字段、必填项、值类型、数组、格式和约束。开发者常用它做 API 校验、文档、Mock 和测试。

Draft 2020-12 是什么意思?

它是 JSON Schema 规范的一个版本。Draft 2020-12 适合作为新项目默认选择;Draft 7 仍常见于旧工具和平台。这个生成器两者都支持。

生成的 Schema 可以直接作为最终契约吗?

建议把它当作高质量起点,而不是自动生成的最终契约。你仍需要检查 required 字段,并补充最小长度、枚举值等样例无法证明的业务规则。

严格必填模式如何判断 required?

严格模式会把同一级所有样本对象都出现的字段标为 required。对象数组中,只要某个字段有一行缺失,就不会被标为必填。

什么时候用宽松模式?

当样例不完整、API 字段经常可选,或你想先得到较宽松的 Schema 再人工收紧时,适合使用宽松模式。

工具会校验 email 或 URI 这类 format 吗?

会。开启格式推断后,工具可以添加并校验 email、URI、UUID、date、date-time 等常见格式。

我的 JSON 会上传吗?

不会。Schema 生成和校验都在浏览器本地通过 JavaScript 与 Ajv 完成。DevCove 不上传也不存储你的样例、Schema 或校验数据。