运行工具
本工具可根据输入的 JSON 示例数据,自动推导并生成符合 draft-07 规范的 JSON Schema 结构定义。在推导过程中,对象类型会将其包含的每个属性解析为对应字段定义,将所有出现的字段列入必填项列表,并默认禁止附加属性。数组类型会分析元素结构,当数组为空时生成无约束子模式,当数组包含多种不同类型元素时则会去重并通过 anyOf 组合分支。基本数据类型支持识别 null、布尔值、整数与浮点数。对于字符串内容,若符合特定格式规则,系统会自动标注 email、uuid、uri、ipv4、date-time、date 或 time 等格式。工具支持自定义模式标题,单次输入的 UTF-8 编码大小上限为 1,000,000 字节。
使用说明
- 在示例数据输入框中粘贴合法的 JSON 文本。
- 在标题输入框中填写模式名称(留空时默认使用 Generated Schema)。
- 点击生成按钮,在输出区域查看并复制生成的 JSON Schema 代码。
示例
- 输入用户对象示例:{"id": 101, "name": "张三", "email": "user@example.com"},生成包含对应类型与 email 格式约束的模式定义。
- 输入包含多种类型的数组:[1, "test", true],生成在 items 中使用 anyOf 组合三种类型定义的数组模式。
常见问题
输入格式错误的 JSON 会怎样?
如果输入的 JSON 文本存在语法错误,工具将无法解析并提示错误,不会生成模式定义。
生成的 Schema 遵循哪个版本的规范?
生成的模式包含 JSON Schema draft-07 规范标识。
对象中的字段是如何处理必填规则的?
推导对象时,示例中出现的所有属性名称都会被加入 required 列表中,且默认设置 additionalProperties 为 false。
空数组会生成怎样的结构?
当示例中的数组为空时,生成的模式会将类型标记为 array,且不对子元素施加具体的类型约束。