JSON Schema 生成与验证器 — 免费在线工具
使用此免费在线工具从示例数据生成 JSON Schema 或根据 Schema 验证 JSON。使用 Ajv 进行验证,无需注册。
什么是 JSON Schema?
JSON Schema 是由 IETF(互联网工程任务组)定义的词汇表,允许您描述 JSON 数据的结构、约束和验证规则。JSON Schema 指定对象必须具有哪些属性、允许哪些数据类型、值的范围、字符串模式、数组长度等。它被广泛用于 API 请求/响应验证、表单生成、配置文件验证和数据文档化。JSON Schema 支持从 Draft-04 到 Draft 2020-12 的多个版本。此工具允许您从示例 JSON 数据自动生成 JSON Schema(作为起点非常有用),并使用 Ajv(Another JSON Validator)库根据 Schema 验证任何 JSON 文档。Ajv 是 JavaScript 生态系统中使用最广泛的 JSON Schema 验证器。
如何使用此免费在线 JSON Schema 工具
- 使用顶部的标签页在'生成 Schema'和'验证 JSON'之间切换。
- 生成 Schema:将示例 JSON 对象粘贴到输入区域,工具会自动推断类型并生成可作为起点使用的 JSON Schema。
- 验证 JSON:在第一个输入框中粘贴要验证的 JSON 数据,在第二个输入框中粘贴 JSON Schema,然后点击'验证'按钮。
- 查看验证结果:绿色消息表示 JSON 符合 Schema;红色消息列出所有验证错误及其路径。
- 点击复制按钮复制生成的 Schema 或验证结果。
JSON Schema 的常见用途
- API 契约验证 — 为 API 请求和响应体定义 JSON Schema,确保客户端发送有效数据,服务器返回预期结构。
- 配置文件验证 — 为应用程序配置文件创建 Schema,在错误导致生产环境运行时故障之前及早发现问题。
- 从示例生成 Schema — 从示例数据快速生成 JSON Schema 骨架,而无需从头编写。然后通过添加必填字段和模式等约束来完善生成的 Schema。
- 表单生成与验证 — react-jsonschema-form 和 vue-jsonschema-form 等库使用 JSON Schema 自动生成带有内置验证的 UI 表单。
- 数据管道质量检查 — 在 ETL 管道中根据 Schema 验证传入数据,在格式错误的记录污染数据仓库之前将其拒绝。
FAQ
此工具支持哪个 JSON Schema 版本?
验证引擎(Ajv)默认支持 JSON Schema Draft-07,这是采用最广泛的版本。Schema 生成器生成的 Schema 兼容 Draft-04 及更高版本。对于 Draft 2019-09 或 2020-12 的功能,可能需要添加 ajv-formats 或 ajv-keywords 插件。
自动生成的 Schema 准确吗?
生成的 Schema 从您提供的示例数据推断类型——它能准确判断字符串、数字、布尔值、数组和对象类型。但它无法推断最小/最大值、字符串模式(正则表达式)、必填字段或枚举值等约束。请将生成的 Schema 视为起点,然后手动完善。
'allErrors: true' 在验证中是什么意思?
默认情况下,Ajv 在遇到第一个验证错误时就会停止。设置 'allErrors: true' 后,它会继续检查并报告找到的每个错误,让您一次获得所有问题的完整信息。这对调试更有用,但对于非常大的文档会稍慢。
这个工具免费且保护隐私吗?
是的。Schema 生成和验证完全在浏览器中使用 to-json-schema 和 Ajv JavaScript 库运行。不会向任何服务器发送数据,也无需注册。