JSON SCHEMA GENERATOR

JSON Schema 生成器:从样例开始整理字段规则。

根据 JSON 样例生成 Draft 2020-12 Schema 初稿,推导对象字段、数组元素、基础类型和常见日期、邮箱、URL 格式。结果适合作为接口契约讨论的起点。

输入合法 JSON 后生成 Schema 初稿。
JSON 样例0 字符 · 0 行
JSON Schema 输出Draft 2020-12
生成的 JSON Schema 会显示在这里。
这是从当前样例推导的初稿。数组会检查所有已给元素;样例中出现的字段不等于接口中永远必填,也不代表未知字段应被拒绝。

这个生成器会推导哪些 Schema 规则?

样例内容推导结果使用含义
{"name":"张三"}type: object + properties.name为对象中的每个已出现字段建立属性规则。
[{"id":1}]type: array + items按已给元素推导数组项;异构元素会使用 anyOf
42 / 8.5integer / number根据当前数值是否为整数区分类型。
日期、邮箱、HTTP URLformat只识别明显的 datedate-timeemailuri 模式。
勾选 requiredrequired 数组把该样例里每个对象的已有键写入 required。

required 选项应该怎么理解?

“样例中出现”与“接口永远必填”不是一回事。勾选后,工具会把当前对象中的每个键加入 required,便于你先得到严格的草稿;如果接口存在灰度字段、版本差异或条件字段,应在生成后按接口文档删减或改写。

适合勾选

你拿到的是稳定协议、配置文件或已经定义清楚的服务端响应,并且样例覆盖了必填字段。

建议取消

样例来自日志、分页列表或可选字段很多的第三方接口。此时先保留属性类型,再和文档确认 required。

生成后还需要补充什么?

  1. 补上 descriptionexamples、枚举值、数值范围、字符串长度与业务正则。
  2. 决定是否使用 additionalProperties。当前结果不会擅自禁止未知字段,避免单个样例把 Schema 写得过窄。
  3. 用多份真实请求和响应验证 Schema,再将其放进 OpenAPI、表单校验或 CI 检查流程。
本页生成 Schema,不执行 JSON Schema 校验。完整校验需要明确所用 Draft、format 策略、自定义关键字和校验器实现,不能只靠一个样例推断。

常见问题

支持哪一版 JSON Schema?
输出的 $schema 指向 Draft 2020-12,使用常见的 type、properties、required、items、anyOf 和 format 结构。
数组里的两个对象字段不同会怎样?
工具会按每个已给元素推导 item Schema;当结构不同会产生 anyOf,请再判断它们是否应统一成一个对象模型。
可以直接拿来校验生产数据吗?
不建议直接使用。先补充业务约束并使用真实数据验证,尤其要检查 required、空值、枚举和数值范围。