实用工具

JSON Schema 在线校验

用 Ajv 按 JSON Schema 校验 JSON 文档,列出每一个不合规的路径,而不只是第一个。

浏览器本地运行AI 开发工具1.5万
免费

输入

0 B

结果

结果会显示在这里。

模型的结构化输出、webhook 请求体或者配置文件被拒收时,真正有用的是一张清单:哪些路径不合格,各自违反了哪条规则。这个校验器跑的是 Ajv——大多数 JavaScript 工具链背后的 JSON Schema 实现——并开启了 allErrors,所以有五处问题的文档会显示五行:出错值的 JSON 指针、错误信息,以及 Schema 里触发这条错误的规则路径。Schema 放进 Schema 框,要校验的文档放进输入框。

它是怎么工作的

  • 校验所用的规范版本跟随 Schema 自己的 $schema:2020-12 和 2019-09 用 Ajv 对应的类,draft-07 或没有声明的用默认类。
  • 加载了 ajv-formats,所以 email、date-time、uri、uuid 这些 format 会真正被检查,而不是被悄悄忽略。
  • 关闭了 Ajv 的 strict 选项,examples 之类的注解或厂商自定义关键字不会中断校验;如果 Schema 本身写错了,会明确报出来。

你的数据去了哪里

哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。

本工具免费且无需登录,运行结果只存在于你当前的页面里,不会被保存到任何地方。

它要花多少

本工具完全免费,不需要登录,也不消耗积分。

常见问题

为什么我的 draft-04 Schema 被拒绝?
draft-04 里 exclusiveMinimum 和 exclusiveMaximum 是布尔值,后来的版本改成了数字,用新版本去跑旧 Schema 可能会放过本该失败的数据。与其猜,不如请你把 $schema 改掉。draft-06 的 Schema 会按 draft-07 校验,因为 draft-07 只是在它基础上加了关键字。
每行 at 后面那段路径是什么意思?
那是失败规则在 Schema 里的路径,比如 #/properties/items/items/properties/price/minimum。每行开头的路径指向你的数据,这第二个路径指向 Schema。当你发现错的其实是 Schema 而不是数据时,这个路径能直接带你找到要改的那条规则。
会去网上下载 $ref 引用的 Schema 吗?
不会。同一份 Schema 内部的引用(#/$defs/… 或 #/definitions/…)可以正常解析,但远程的 $ref 地址不会被下载,依赖它的 Schema 会编译失败,并在报错里指出是哪个引用。想离线校验,就把被引用的定义粘进 $defs 里。

背后的开源项目

本工具运行在 ajv-validator/ajv 之上,以 MIT 许可发布。如果你需要在自己的程序里实现同样的能力,直接用这个库。

ajv-validator/ajv

也常被称作

  • json schema校验
  • json schema验证在线
  • ajv在线校验
  • json格式校验工具
  • json schema 2020-12