JSON Schema 生成器
免费在线 JSON Schema 生成工具。粘贴示例 JSON 即可推断 draft-07 或 2020-12 schema:必填属性、数组合并策略与字符串格式探测,完全在浏览器本地完成。
JSON Schema 生成器是做什么的?
它分析示例 JSON 文档并推断描述它的 schema:每个值的类型、嵌套对象的属性、数组的元素 schema。结果是一份可直接使用的 draft-07 或 2020-12 JSON Schema,可以复制或下载。
schema 推断是怎么工作的?
生成器递归遍历示例值:字符串变成 string 属性(可选附上探测到的 date、email 等格式),整数变 integer,小数变 number,布尔变 boolean,null 变 null,数组按所选策略生成带元素 schema 的 array,对象变成带 properties 映射的 object。
必填选项有什么作用?
开启后,对象中发现的每个属性都会被视为强制存在:生成器会把它们整理成每个对象上符合 JSON Schema 规范的 required 数组。如果实际数据中某些字段可能缺失,请关闭该选项。
数组策略应该怎么选?
「合并所有元素」会生成能覆盖全部元素的单一元素 schema(例如 integer 与 number 合并为 number);「只取第一个元素」以第 0 个元素的 schema 为准;「要求元素类型一致」要求所有元素 schema 相同,否则报错;「按位置元组」为每个位置保留独立 schema,适合定长数组。
能添加 $schema 版本头吗?
可以。$schema 版本下拉框可选择加上官方 draft-07 URI、2020-12 URI,或不添加。该头部告诉下游校验器你的 schema 遵循哪个规范。
字符串格式探测是什么?
开启后,形如邮箱、日期、主机名的字符串值会附带 format 注记(如 format: email)。这让 schema 更精确,但短文本偶尔会被过度注记——需要纯字符串类型时可以关闭。
生成的 schema 一定完美吗?
从单个样本推断不可能完美。schema 只反映你给的示例:缺失的可选字段不会出现,边界情况可能需要手工调整。把它当作高质量的起点,再按真实契约调整取值范围、pattern 和枚举。
数据会被上传吗?
不会。schema 推断完全在浏览器内完成,不向任何服务器发送数据。示例也可以从本地文件载入,最近一次输入只保存在本浏览器的 localStorage 中。
如何使用JSON Schema 生成器
本工具从示例 JSON 文档推断 JSON Schema。在左侧粘贴或载入样例数据,调整选项,右侧即时生成 draft-07 或 2020-12 schema。底层使用 to-json-schema 推断引擎在浏览器本地运行,并做一步后处理:把引擎逐属性打上的必填标记整理成父对象上符合规范的 required 数组。数据不会上传到任何地方。
- 把示例 JSON 粘贴到左侧输入框,或用「载入文件」「示例」按钮。
- 决定是否所有属性都必须存在——勾选「将所有属性标记为必填」会在每个对象上生成 required 数组。
- 选择数组策略:合并所有元素(一个元素 schema 覆盖全部)、只取第一个元素、要求元素类型一致(不一致时报错)或按位置元组。
- 选择 $schema 版本:不添加、Draft-07 或 Draft 2020-12,将加上官方头部 URI。
- 「探测字符串格式」可给形似邮箱、日期的值附上 format 注记。
- 复制结果或下载为 schema.json;生成的 schema 统一按 2 空格缩进输出。
推断结果完全取决于你给的样例——样例中缺失的字段不会出现在 schema 里,请尽量喂最丰富、最真实的数据。像 Ada Lovelace 这类纯字母短文本可能被标注 format: color(与 CSS 颜色名同形),需要纯字符串类型时关掉「探测字符串格式」,或手工删掉 format 行。
相关工具
- JSON 验证器 即时验证 JSON 语法,提供详细错误信息和行号定位。免费在线工具,100% 浏览器端运行。
- JSON 格式化 格式化和美化JSON,支持自定义缩进。在浏览器中即时格式化压缩的JSON。
- JSON转TypeScript 将JSON数据即时转换为TypeScript接口和类型定义。支持嵌套对象、数组和联合类型。
- Chmod 计算器 免费在线chmod计算器,通过复选框可视化Linux文件权限并计算chmod值。即时转换数字(755, 644)和符号(rwxr-xr-x)表示法,支持setuid、setgid、sticky bit等特殊权限。
- ASCII码表 完整的ASCII字符编码参考表,包含十进制、十六进制、八进制、二进制编码、HTML实体和字符描述。支持即时搜索和筛选。
- HTTP 请求测试 在浏览器中直接测试 REST API。发送 GET、POST、PUT、DELETE 请求,自定义请求头、请求体和查询参数,即时查看响应状态、头部和 JSON 内容。
- .htaccess生成器 生成Apache .htaccess规则,包括重定向、重写、安全头、缓存、压缩等。
- Robots.txt生成器 免费在线robots.txt生成器。创建和自定义robots.txt文件,控制搜索引擎爬取,管理爬虫访问,通过可视化编辑器优化网站SEO。