跳到主要内容
← 返回

JSON Schema 校验器 - 在线 JSON 数据验证

数据
本地运行 · 不上传

在线 JSON Schema 校验工具:根据 JSON Schema 定义验证 JSON 数据。支持 format 校验、类型检查、必填字段验证。

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

下一步

使用指南

口头 API 契约会漂移。JSON Schema 把类型、必填、范围写成可机器检查的规则。本工具在浏览器本地校验:一侧数据、一侧 Schema,经 ajv(含 format 扩展)给出通过或逐条错误,样例不上传。

1. 校验一份数据

左侧贴实例,右侧贴 Schema(含 $schema 更清晰)。阅读 instancePath 与关键字错误,区分缺字段、类型不对与枚举失败。改一侧后重跑,直到绿或确认契约问题。

  1. 粘贴 JSON 与 Schema。
  2. 阅读路径与关键字。
  3. 迭代修复并重跑。

2. 写 Schema 顺序

先 type、properties、required,再补 format/pattern/范围;数组先定 items/prefixItems,再谈 minItems。对外 API 慎用 additionalProperties:false,除非真要拒绝扩展。

  • 先结构后修饰。
  • 数组元素类型先定。
  • 关闭附加属性要有理由。

3. 与生成器/编辑器

生成起稿→编辑收紧→本页正反样例回归。保留缺字段、错类型、枚举外值等负例。CI 用同一文件,避免只在浏览器绿。

4. format 与严格度

email/uri/uuid 等需 format 插件才强制,本页已接 ajv-formats。非严格模式减少历史噪音;生产可开 strict。type:[string,null] 不是缺 key。

  • 启用 format 才有约束力。
  • nullable 与 missing 分开建模。
  • 严格模式按团队规范。

5. 读懂错误

required/type/enum 指向不同修复。能改 API 就修数据;只能适配上游就放宽 Schema 并记录技术债,避免静默吞掉契约问题。

6. 替代不了什么

本地校验适合设计期与排障,不是网关。授权、幂等、跨字段业务规则与配额仍须服务端执行。把它当契约显微镜使用。

常见问题

能。校验由浏览器内的 ajv(含 format 扩展)完成,样例数据和 Schema 定义全程不外发。

结果逐条列出,每条带 instancePath(出错位置)与关键字。required 意味着缺字段、type 意味着类型不对、enum 意味着值超出枚举——三类关键字对应三种不同修法。

会。format 约束需要 ajv 的格式插件才会强制执行,本页已接入 ajv-formats。注意:同一份 Schema 拿到别的校验器跑时,那边也要启用 format 支持,否则这些关键字形同虚设。

先骨架后修饰:type、properties、required 打底,再补 format/pattern 和数值范围;数组先写 items(2020-12 可用 prefixItems),再谈 minItems。additionalProperties:false 会拒绝所有扩展字段,对外 API 慎用,除非你真想拒绝扩展。

分开建模:type:[string,null] 表示字段存在且可为 null;required 只检查键是否存在。把两者混为一谈是常见误报来源——显式 null 不是缺 key。

生成器起稿、编辑器收紧、本校验器用正反样例回归:保留缺字段、错类型、枚举外值等负例,和正例一起反复打。CI 里跑同一份 Schema 文件,避免「只在浏览器里是绿的」。

相关工具

相关文章