Neatbo.

校验本地自备 Schema 约束

分别准备实例与权威 Schema,区分校验失败和不支持的约束,并保存每条完整诊断。

按 Schema 校验

检查自备 Draft 2020-12 约束,定位受支持规则的全部失败并保存完整报告。

区分完成求值与拒绝
结果含义下一步
实例有效实例满足受支持的自备约束保留实例、Schema 与完整报告
实例无效受支持的约束已完成求值且失败逐条检查实例位置与求值路径
输入或范围被拒绝请求没有完成校验修正语法或不支持的约束后重试

明确选择受支持的输入

本页工具参考提供当前限制、控件和支持范围;语法有效的输入仍可能因范围、来源路径工作量或完整输出容量被拒绝。

所选文件仅在点击运行后读取。读取、检查与处理共同计入整个 10 秒任务期。

每个角色仅使用所选模式;所选空文件或无效文件不会回退到粘贴内容。

恢复与保存

若想约束数组元素,把对象规则放在 items 内;修正语法或不支持的约束后重试。通过表示该实例符合所支持的自备 Schema。

保留完整依据

这里是有界预览;完整诊断、匹配项和来源信息仍保留在完整复制与下载中。

完整报告保留每条诊断及其出现次数,不对重复条目去重。

技术诊断原文属于报告数据;界面标签已翻译,报告内容不会被改写。

  • 核对每条诊断是否对应预期实例值与 Schema 规则。
  • 保留重复的父级与叶子诊断,不把它们压成一条消息。
  • 保存 validation-report.json 或完整报告复制文本,并同时保留自备实例与 Schema。

恢复时不静默切换来源

若想约束数组元素,把对象规则放在 items 内;修正语法或不支持的约束后重试。通过表示该实例符合所支持的自备 Schema。 取消后可用相同有效输入启动新请求;被拒绝或超时的任务不提供部分制品。

取消或超时不会生成完整制品;下一次运行沿用相同有效角色,除非主动编辑或更换来源。

参考资料

  • 自备 Schema 与重命名字段问题

    完整演示是单独的规范化回放:解码后重复键按最后值处理,并移除尾逗号;未改动原帖会被拒绝。按作者意图将数组规则移入 items。

  • JSON Schema Draft 2020-12

    背景规范;受支持的静态范围更窄,不声称完整符合性。

本分类工具使用说明

展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。

用自备 Schema 校验 JSON 实例检查自备 Draft 2020-12 约束,定位受支持规则的全部失败并保存完整报告。

检查自备 Draft 2020-12 约束,定位受支持规则的全部失败并保存完整报告。

操作步骤

  1. 分别提供 JSON 实例和权威 Schema。
  2. 为每个角色选择有效来源模式;选择文件时只显示元信息,点击运行后读取并处理。
  3. 执行校验,区分输入或 Schema 范围被拒绝,与已完成校验但实例无效。
  4. 查看实例指针和 Schema 求值路径,下载 validation-report.json 或复制完整报告。

能力与限制

  • 实例最多 1 MiB、50,000 值节点和 64 层;Schema 最多 128 KiB、5,000 节点、32 层和 1,000 个 Schema 位置。根节点深度为零。
  • 固定 Draft 2020-12 静态子集:类型、const/enum、必填与依赖、属性与数组、数值与字符串约束、组合规则,以及无环的同文档 JSON Pointer 引用。未知或不支持的关键词会中止任务。
  • 所有 JSON 数值原文的数学值须为整数,且位于 ±9,007,199,254,740,991 内。1.00 等精确整数写法可用;小数和发生不安全舍入的数值被拒绝。
  • 平面 ECMA262-u 模式最多 128 个 UTF-8 字节,支持字面字符、字符类、锚点、点号和简单量词。拒绝分组、选择、反向引用及 f/n/r/t/v 之外的字母简写转义;不获取远程引用,不支持 anchor、动态引用、unevaluated、format 或自定义代码。
  • 不支持的词汇表/content 关键词、$anchor/$dynamicAnchor/$dynamicRef、unevaluated、format、嵌套 $id、远程或百分号/锚点引用,以及递归本地引用都会拒绝任务;此静态范围不表示完整 Draft 2020-12 符合性。
  • 验证与深比较合计最多 2,000,000 次调用;尝试生成的不同诊断最多 20,000 条,其紧凑内容合计最多 8 MiB。完整报告最多 8 MiB。超出任一限制会拒绝全部结果。
  • Schema 位置的 JSON Pointer 路径累计最多 8 MiB;构造路径前检查位置数量与路径字节。语法有效但超过预处理容量的 Schema 会整体拒绝。
  • 每个角色选择粘贴内容或恰好一份 UTF-8 文件;改用粘贴时先清除所选文件。空文件或无效文件不会回退到隐藏的粘贴内容。文件名标签最多 512 个 UTF-8 字节。
  • 移除并记录一个开头 BOM,粘贴输入亦如此。拒绝无效 UTF-8、解码后重复的 JSON 键和不成对的 Unicode 代理字符;输入在本浏览器处理。
  • 整个任务固定 10 秒时限或取消后不提供部分制品。修正输入后重试,每次任务使用新 Worker。
  • 完整报告保留每条诊断,包括父级包装诊断与重复的四字段条目。keywordLocation 是包含本地引用转换的求值路径,并非解析后的绝对源指针;技术错误原文保持不变。
  • 文件内容仅在点击运行后读取,与引擎加载、检查和处理共用固定的整个 10 秒任务期。取消或超过任一上限时,不发布部分复制或下载;输入仅留在当前标签页的有界内存中。
  • 屏幕采用有界预览;完整复制和下载保留全部诊断、有序匹配项与来源身份。文件与名称在本地处理,不上传内容,不抓取远程引用。
打开用自备 Schema 校验 JSON 实例 →