JSON Schema 验证器和格式化程序
指导
JSON Schema 验证器和格式化程序
使用精确、详细的错误报告,根据 JSON Schema 验证您的 JSON 数据。粘贴您的数据和 Schema,选择草案版本,即可获得即时反馈——包括每个验证错误的精确 JSON Pointer 路径。所有处理均在客户端运行,因此您的数据绝不会离开您的浏览器。
如何使用
在第一个文本区域粘贴您的 JSON 数据,在第二个文本区域粘贴您的 JSON Schema。选择 Schema 草案版本(draft-07、2019-09 或 2020-12)并单击“验证”。该工具将显示清晰的通过或失败结果,并附有详细的错误消息,显示每个问题的确切路径、违反的关键字和解释。使用“格式化”按钮美化任一输入。
特征
- 多个 Schema 草案 – 通过 ajv 验证库支持 JSON Schema draft-07、draft-2019-09 和 draft-2020-12。
- 详细的错误报告 – 每个验证错误都会显示指向违规值的 JSON Pointer 路径、违反的关键字以及可读的错误消息。
- JSON 美化器 – 使用正确的缩进格式化和美化打印您的 JSON 数据和 Schema,以便于阅读和编辑。
- 客户端处理 – 所有验证均在您的浏览器中使用行业标准的 ajv 库运行。没有数据会发送到任何服务器。
- 示例数据 – 在粘贴您自己的数据之前,尝试使用内置示例查看验证工作原理。
何时使用此工具
在构建或调试使用 JSON Schema 进行请求验证的 API、根据 Schema 测试配置文件或验证示例数据是否符合规范时,请使用此工具。它对于捕获细微问题特别有用——例如,缺失的必填字段、类型不匹配或模式违规——这些问题很容易被忽略但会在运行时破坏应用程序。
常问问题
-
什么是 JSON Schema 及其用途?
JSON Schema 是一个词汇表,允许您注释和验证 JSON 文档。它定义了 JSON 数据的预期结构、类型和约束——例如,哪些字段是必需的,它们应该是什么类型,以及字符串必须匹配什么模式。它广泛用于 API 请求/响应验证、配置文件验证和数据交换规范。
-
JSON Schema draft-07、2019-09 和 2020-12 之间有什么区别?
每个草案都添加了新的关键字并改进了现有行为。Draft-07 的支持最广泛,包含 if/then/else 等关键字。Draft-2019-09 添加了词汇表、unevaluatedProperties 和 dependentRequired。Draft-2020-12 改进了动态引用和 prefixItems(取代了 items 的数组形式)。大多数工具支持 draft-07;更新的草案提供了更强的表达能力,但工具支持略有不同。
-
验证错误中的 JSON Pointer 路径是什么?
JSON Pointer 是一个字符串语法,用于标识 JSON 文档中的特定值(在 RFC 6901 中定义)。它使用正斜杠导航到对象和数组——例如,/users/0/email 指向 users 数组中第一个用户的 email 字段。验证错误包含这些路径,以便您可以精确地找到数据中问题发生的位置。
-
什么是 ajv 以及为什么它是 JSON Schema 验证的标准?
Ajv(Another JSON Validator)是 JavaScript 中最广泛使用的 JSON Schema 验证器。它支持所有主要草案,将 Schema 编译成优化的验证函数以提高速度,并提供详细的错误报告。它被 webpack、ESLint 和 OpenAPI 工具链等主要项目使用,每天处理数十亿次验证。
