查找工具

↑↓ 选择 Enter 打开

不知道工具名称时,可输入“格式化”或“计数”等任务词。

JSON Schema 校验

仅本地处理

填入待校验 JSON 和 JSON Schema Draft 7 规则,在可取消的浏览器 Worker 中检查。工具先用 Draft 7 元模式检查规则,再校验数据,不自动转换类型,也不填入默认值。

已审核 · 更新于 · 免费使用 · 无需账号

仅支持 Draft 7 和文档内 # 引用,不加载远程规则。两份输入各最多 2 MiB,校验不会修改数据。

结果
输入保留在当前标签页,所需引擎文件从本站加载。

JSON Schema 校验可以处理什么?

填入待校验 JSON 和 JSON Schema Draft 7 规则,在可取消的浏览器 Worker 中检查。工具先用 Draft 7 元模式检查规则,再校验数据,不自动转换类型,也不填入默认值。

什么时候使用这个工具?

检查数据契约时使用本工具;仅检查语法可用 JSON 格式化,提取字段可用 JSON 查询,构造测试数据可用模拟数据生成。通过校验仅说明符合所提供规则及已支持的 Draft 7 行为。

如何使用?

  1. 粘贴 JSON 和 Draft 7 Schema,或分别打开两个本地文件,每份最多 2 MiB。
  2. 点击“运行”,检查 valid 标志和错误路径;JSON 语法正确也可能不符合规则。
  3. 修改数据或规则后重新运行,核对报告再复制或下载。

实际输入输出示例

检查整数年龄字段

输入

JSON:{"age":"21"}
Schema:{"type":"object","properties":{"age":{"type":"integer","minimum":18}},"required":["age"]}

输出

valid: false
instancePath: #/age
keyword: type

字符串 "21" 不是整数,改成数字 21 后可通过这份规则。校验不会改写原始数据。

常见错误与修复方法

现象可能原因修复方法
尚未校验数据就提示规则无效。Schema 语法、关键字取值或声明的草案版本不受支持。使用 Draft 7 并检查关键字类型,将 prefixItems 等其他草案的写法改为 Draft 7 对应写法。
引用无法解析。仅支持当前 Schema 文档内的 # 引用,不请求远程文件。将外部规则合并到 definitions,再通过 #/definitions/name 引用。

支持范围与限制

仅支持 Draft 7,省略 $schema 时按 Draft 7 处理,其他草案的关键字会被拒绝。未知扩展关键字会被忽略,不执行自定义代码。引用须在同一文档内解析。format 按引擎支持范围检查,不验证邮箱账号或网址是否真实可用。Schema 嵌套最多 100 层,报告最多显示 100 个错误,单次处理上限 15 秒。数字使用 JavaScript 精度,超大 ID 请保留为字符串。

标准与实现参考

关于JSON Schema 校验的常见问题

输入内容会上传吗?

不会。数据在浏览器 Worker 内处理。页面从本站加载所需引擎,不向处理 API 发送输入、输出或文件名。

需要账号或 API Key 吗?

不需要账号、API Key 或后端处理服务。

如何保存处理结果?

检查结果后,使用对应的复制或下载控件。修改输入会清除旧结果,避免误用。

有哪些限制?

仅支持 Draft 7,省略 $schema 时按 Draft 7 处理,其他草案的关键字会被拒绝。未知扩展关键字会被忽略,不执行自定义代码。引用须在同一文档内解析。format 按引擎支持范围检查,不验证邮箱账号或网址是否真实可用。Schema 嵌套最多 100 层,报告最多显示 100 个错误,单次处理上限 15 秒。数字使用 JavaScript 精度,超大 ID 请保留为字符串。

更新记录

新增浏览器本地处理、明确大小限制、取消操作、实际输入输出示例、常见错误解释和结果下载;完成中文工作区与说明审校。

谁在维护这个工具?

KL
KitLumi EngineeringKitLumi 工程团队负责维护工具行为、隐私说明、示例和自动化测试。

如何使用本地 Draft 7 Schema 校验 JSON? →