JSON Schema 生成器

粘贴一份 JSON 示例,得到描述其结构、类型和必填字段的 draft-07 JSON Schema。


          
        

工作原理

工具会递归遍历解析后的 JSON。对象会变成 type: "object", 每个键对应一条 properties 条目,出现过的键都会列入 required。数组会变成 type: "array",其 items schema 通过推断并合并每个元素的类型构建而成。基本类型直接映射: 字符串、数字(当采样到的值全部为整数时用 "integer" 而不是 "number")、布尔值和 null。

这一切都通过 JSON.parse(浏览器原生解析器)加上一个小型递归遍历器 完成,都在本页面自己的 JavaScript 中运行。不会上传任何内容。

常见问题

这个工具生成的是哪个版本的 JSON Schema?

Draft-07,这是目前受支持最广泛的版本,ajv、jsonschema(Python)等校验库以及大多数 IDE 工具都支持它。输出结果是纯 JSON,如果你需要更新草案的关键字,之后可以手动编辑。

数组是怎么处理的?

工具会检查数组中的每一项并合并它们推断出的类型。如果所有元素结构相同,你会得到一个统一的 items schema;如果元素类型不同,就会退回到更宽泛的 schema,确保示例中的每一项都被表达出来。

会把字段标记为必填吗?

会,对象中出现的每一个键都会被加入该对象的 required 列表,因为它出现在了你的示例中。如果实际数据里这些字段其实是可选的,可以从生成的 schema 的 required 数组中移除它们。