JSV

JSON Schema 校验

按 Schema 校验 JSON 数据结构

校验与验证
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月29日
选项模式
JSON 输入

先贴 JSON 和 Schema,直接看校验结果;严格模式和首错停止可在高级模式查看。

JSON Schema
Result
校验结果会显示在这里

仅检查部分 Schema 规则;$ref、组合规则、format 和 additionalProperties 等未实现关键字会被忽略。此结果不能证明通过完整 JSON Schema 校验;严格模式是本工具的字段白名单选项。

🔒 浏览器内本地处理
页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

在本地执行部分 JSON Schema 风格规则并查看字段错误,包括基础类型、标量枚举、数值范围、字符串约束和已声明类型的对象或数组子项。未实现关键字可能被忽略,通过不等于完整 JSON Schema 校验。严格模式附加本地字段白名单;输入和选项会保存在当前浏览器。

失败门诊(高频踩坑)

未实现的规则没有执行却看到通过

原因:工具不评估 $ref、oneOf、format、additionalProperties 等关键字。对象和数组递归还需显式声明对应 type;标量 enum 比较不实现对象或数组深层相等。

修复:通过仅代表已实现检查没有发现错误。真实契约应使用支持目标草案的完整 JSON Schema 实现,并检查引用与 Schema 本身的有效性。

生产可用片段

核对已实现的数值下界

text

数据:
{"count":2}

Schema:
{"type":"object","properties":{"count":{"type":"integer","minimum":3}}}

错误:
$.count: should be >= 3

常见问题

实现了哪些校验规则?

当前覆盖单一 type、标量 enum、minimum/maximum、字符串 minLength/maxLength/pattern,以及声明 object 类型的 properties/required 和声明 array 类型的 items。字符串长度按 JavaScript UTF-16 代码单元计算,不是完整 JSON Schema 草案实现。

“已支持的检查项通过”代表什么?

仅表示已实现的检查没有发现错误。$ref、allOf/anyOf/oneOf、const、format、additionalProperties、元组、布尔 Schema 等未支持或会被忽略;API 契约和发布门禁应使用完整校验器。

严格模式是否等于 additionalProperties: false?

不是。只有 Schema 声明 type: object 且提供 properties 时,该本地选项才按 properties 名单拒绝额外字段,不读取 additionalProperties 的规则;关闭后不检查额外字段。

会上传或保存数据与 Schema 吗?

校验不上传输入;两份输入及选项保存在当前浏览器本地存储中,分别清空对应输入可移除其保存内容。

继续浏览