用自备 Schema 校验 JSON 实例
检查自备 Draft 2020-12 约束,定位受支持规则的全部失败并保存完整报告。
所选文件仅在点击运行后读取。读取、检查与处理共同计入整个 10 秒任务期。
输入、工作量与完整输出上限约束整个请求;超过任一项会拒绝结果,详见工具限制。
JSON 实例
Draft 2020-12 Schema
开始之前
检查自备 Draft 2020-12 约束,定位受支持规则的全部失败并保存完整报告。
如何使用
- 分别提供 JSON 实例和权威 Schema。
- 为每个角色选择有效来源模式;选择文件时只显示元信息,点击运行后读取并处理。
- 执行校验,区分输入或 Schema 范围被拒绝,与已完成校验但实例无效。
- 查看实例指针和 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 秒任务期。取消或超过任一上限时,不发布部分复制或下载;输入仅留在当前标签页的有界内存中。
屏幕采用有界预览;完整复制和下载保留全部诊断、有序匹配项与来源身份。文件与名称在本地处理,不上传内容,不抓取远程引用。
操作示例
示例输入
instance: {"root":[{"nono":"text"}]}
schema: {"type":"object","properties":{"root":{"type":"array","items":{"type":"object","properties":{"a":{"type":"string"}},"required":["a"]}}}}示例参数
2020-12-static-integer-v1
示例输出
无效:#/root/0 缺少必填 a;完整 validation-report.json 含 3 条诊断,包括父级 properties/items 失败。
出现问题时
若想约束数组元素,把对象规则放在 items 内;修正语法或不支持的约束后重试。通过表示该实例符合所支持的自备 Schema。 取消后可用相同有效输入启动新请求;被拒绝或超时的任务不提供部分制品。
常见问题
通过能证明完整 Draft 2020-12 符合性吗?
不能。仅表示此实例在固定静态安全整数范围内符合自备 Schema;不支持的关键词或引用会在求值前拒绝。
什么时候读取所选文件?
所选文件仅在点击运行后读取。读取、检查与处理共同计入整个 10 秒任务期。 每个角色仅使用所选模式;无效的所选文件不会回退到隐藏粘贴内容。
复制的结果只是预览吗?
不是。复制得到完整校验报告,保留诊断条目与出现次数;下载包含同一报告。