JSON Schema 生成器与校验器

从示例 JSON 数据生成 JSON Schema(draft-07),或把任意 JSON 文档对照任意 Schema 进行校验并给出精确的错误信息。更多工具:JSON 格式化器 | JSONPath 求值器 | 全部 JSON 工具。
所有处理均在浏览器本地完成——不上传任何数据。
生成 Schema 校验数据
在下方粘贴一个 JSON 对象(或对象数组——属性会合并,required 取并集)。Schema 是自动推断的;如需更严格的规则可 afterwards 手动编辑。
包含 $schema 头——前置 draft-07 声明,让校验器知道 Schema 使用的方言。示例:"$schema": "http://json-schema.org/draft-07/schema#"
标记 required 键——把示例 JSON 中出现的每个键加入 required 列表。示例:"required": ["name", "price", "inStock"]
把小值集合并为 enum——当标量数组有 2–8 个不重复值时,其项类型收窄为枚举。示例:"tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
检测常见字符串格式——识别 ISO 日期、日期时间、UUID、邮箱与 URL 并添加 format。示例:"createdAt": {"type": "string", "format": "date-time"}
生成器说明:整数变为 "integer";字符串只有勾选格式检测才会加 format;数组中的多个 JSON 对象会合并(同类型键保留第一个类型,混合类型回退为 type 数组;required 取所有样本的并集)。使用校验数据时,每条违反的规则都会带 JSON 指针路径(如 .items[0].price),方便直接跳到出错的值。
JSON Schema——是契约,不是类型系统

JSON Schema 描述有效文档必须长什么样:哪些键必需、值是什么类型、范围与模式。校验把数据与 Schema 对照,第一次违规即报告或一次性列出全部问题(取决于选项)。生成器给出的是从样本猜测的起点——机器可读的契约,但仍需人来确认。

生成的 Schema 是从样本的猜测——请手动收紧 required、enum 与 format。