🌐 ZH

🧬 JSON Schema 生成器

粘贴 JSON 样本数据,即可自动推断出 draft-07 JSON Schema。它会识别每个值的类型,将对象的键标记为 required,并合并数组的项模式。

指南

了解更多

01

1. 什么是 JSON Schema

JSON Schema 是描述 JSON 数据结构、类型和约束的标准。它广泛用于校验 API 请求/响应、检查配置文件以及自动生成文档。本工具从单个示例 JSON 生成描述其结构的 draft-07 模式草稿,省去从零手写的麻烦。

02

2. 推断规则

字符串、整数、小数、布尔值和 null 分别映射为 string、integer、number、boolean 和 null 类型。对象带有 properties 并将所有存在的键标记为 required;数组会合并所有元素的模式生成 items。当数组元素拥有不同的键时,只有每个元素都存在的键才保留为 required。

03

3. 生成后的完善

自动推断只是起点。真实的模式通常还需按情况添加 format(email、date-time)、最小/最大长度、enum、正则 pattern 以及对可选字段的调整。为性能考虑,大输入会受节点数上限限制,因此可用有代表性的样本生成草稿,再细化约束。

常见问题

生成的是哪个 JSON Schema 版本?
draft-07 模式。$schema 字段设置为 http://json-schema.org/draft-07/schema#。
为什么每个键都被标记为 required?
样本中存在的键被推断为总会出现,因此标记为 required。生成后请从 required 数组中移除可选字段。
我的 JSON 会发送到服务器吗?
不会。推断完全在浏览器中进行,数据不会发送到服务器。
如果数组元素结构不同会怎样?
会合并它们的模式:只有共同的键保留为 required,混合类型会变成 type 数组(整数+小数统一为 number)。