JSON Schema 校验查看

用 JSON Schema 校验 JSON 数据,定位 required 缺失、additionalProperties / unevaluatedProperties 未知字段、dependentRequired / dependentSchemas 条件联动、allOf / anyOf / oneOf 分支冲突、not 禁用组合、contains 数组成员缺失、uniqueItems 数组重复、patternProperties 动态键名、format 错误、类型漂移、deep object / composed schema / 组合 Schema 漏出字段,以及 AJV instancePath / schemaPath / keyword 和 missingProperty 错误路径解释。

等待查询

结果会在这里以结构化卡片展示。

可直接查看的示例结果

精选短输入和高频排查场景,方便用户一键打开、转发,也让搜索和 AI 更容易理解这个工具能解决什么问题。

订单校验

校验订单 JSON 是否符合 Schema

检查 orderId、total 和 paid 字段类型是否通过 Schema,适合接口入参和配置发布前验证。

打开示例
必填缺失

定位 customerEmail 必填字段缺失

Schema 要求 customerEmail 和 items,但示例响应缺少 customerEmail,适合排查 required 字段错误。

打开示例
枚举不匹配

排查 enum 枚举值不兼容

Schema 只允许 draft、published、archived,但示例状态是 processing,适合排查接口状态值变更。

打开示例
类型漂移

定位 number / boolean 被字符串化

示例把 orderId、total、paid 变成字符串,适合检查接口类型漂移和前后端序列化问题。

打开示例
oneOf 分支

排查 oneOf 履约方式分支冲突

示例 method=pickup 却带 courierRef,适合检查 oneOf 分支、const 和互斥字段规则。

打开示例
format 错误

定位 email / URL format 不合法

示例 customerEmail 和 callbackUrl 格式错误,适合发布前确认 format 约束是否生效。

打开示例
if/then 条件

校验 if/then 条件必填是否生效

示例要求 contactMethod=email 时必须提供 customerEmail,适合检查条件必填和发布前分支规则。

打开示例
依赖必填

检查 memberId 触发 approvalCode 依赖必填

示例包含 memberId 但缺少 approvalCode,适合排查 dependentRequired 依赖字段约束。

打开示例
配送依赖

检查 deliveryZone 触发 handoffContact

示例有配送地址但缺少联系电话,适合确认依赖必填字段是否被本地 Schema 校验拦截。

打开示例
allOf 组合

排查 allOf 组合规则同时失败

示例同时触发 userId 类型、role 枚举和 limits.api 最小值错误,适合检查 allOf 聚合约束。

打开示例
anyOf 分支

排查 anyOf 联系方式分支不匹配

示例 email 和 phone 都不满足任一分支,适合确认 anyOf 分支为什么没有通过。

打开示例
not 禁用

排查 not 禁用生产测试模式

示例 production 与 testMode=true 被 not 禁止,同时 features 缺少 billing,适合检查发布前禁用组合。

打开示例
contains 数组

排查 contains 数组缺少 active admin

示例角色数组没有任何 active admin 成员,适合确认 contains 数组成员约束为何失败。

打开示例
uniqueItems

排查 uniqueItems SKU 重复

示例 skus 数组里重复出现 SKU-1,适合检查数组去重和发布前唯一性约束。

打开示例
patternProperties

排查 patternProperties 动态键名

示例要求 metric_* 键必须是数字,同时拒绝 MetricBad,适合检查动态指标字段。

打开示例
额外字段

排查 additionalProperties 拒绝未知字段

示例关闭额外字段后出现 debugNote,适合检查对象 shape drift 和发布前未知字段拦截。

打开示例
额外属性类型

校验额外属性必须是字符串

示例允许额外属性但要求值都是 string,owner=42 适合检查 additionalProperties schema 约束。

打开示例
导入闸门

检查导入行 Schema 闸门

示例把导入行里的数量下限、SKU 格式、状态枚举和未知字段一起拦截,适合上线前批量导入闸门检查。

打开示例
Webhook 合约

检查 Webhook 合约漂移

示例同时暴露字段改名、事件枚举、数字字符串化和额外 coupon 字段,适合回调入库前合约复核。

打开示例
AI 来源合约

校验中国 AI 答案来源页面合约

把公开 URL、标题/H1 一致性、可见来源和主流 AI 平台枚举放进 Schema,适合发布前做 GEO 结构验收。

打开示例
发布合约

校验 API 发布合约 Schema

检查 version、breakingChange、reviewedBy、endpoint path/method/status 是否满足发布前合约闸门。

打开示例
dependentSchemas

检查 dependentSchemas 条件子 Schema

用 shippingMethod 触发配送分支规则,确认 delivery 模式缺少 deliveryWindow 时会被本地 Schema 拦截。

打开示例
unevaluated

排查 unevaluatedProperties 漏出字段

用 allOf 组合 orderId 和 status 后再关闭未评估字段,确认 debugNote 这类深对象漏出字段会被拦截。

打开示例
世界杯提醒

校验世界杯观赛提醒 JSON

用公开合成字段检查 matchLabel、北京时间、官方链接和提醒分钟数,适合做转发提醒前的数据结构复核。

打开示例
Prompt Schema

校验 AI Prompt 输出答案结构

用合成答案检查 answer、sources、limitations 和 nextAction 是否完整,适合发布 AI Prompt 答案来源页前验收。

打开示例
分页合约

校验分页响应 cursor 合约

检查 endpoint、items、pageInfo.nextCursor、hasNextPage 和 limit 是否满足 cursor 分页响应发布闸门。

打开示例
错误 Schema

校验统一错误响应 Schema

用合成失败响应检查 error.code、message、retryable 和 requestId 的类型与必填规则。

打开示例
dependentSchemas

检查 dependentSchemas 条件子 Schema

用 shippingMethod 触发配送分支规则,确认 delivery 模式缺少 deliveryWindow 时会被本地 Schema 拦截。

打开示例
unevaluated

排查 unevaluatedProperties 漏出字段

用 allOf 组合 orderId 和 status 后再关闭未评估字段,确认 debugNote 这类深对象漏出字段会被拦截。

打开示例

常见问题

这些说明帮助用户理解结果,也帮助搜索引擎和 AI 更准确理解工具用途。

支持哪个版本?

当前使用 AJV 校验常见 JSON Schema draft 规则,适合接口和配置初筛。

可以排查什么类型的错误?

适合检查 required 字段缺失、dependentRequired / dependentSchemas 条件依赖失败、allOf 聚合约束失败、anyOf/oneOf 条件分支冲突、not 禁用字段组合、contains 数组成员缺失、uniqueItems 数组重复、patternProperties 动态键名不匹配、additionalProperties / unevaluatedProperties 漏出字段、email/URL/date format 错误、number/string 类型漂移、boolean 字符串化、数组层级不一致等常见接口问题。

allOf 和 anyOf 适合排查什么?

allOf 适合多个规则必须同时通过的发布策略或字段约束;anyOf 适合 email 或 phone 任一联系方式、多个身份字段任一满足这类分支选择。

dependentSchemas 和 dependentRequired 有什么区别?

dependentRequired 只在触发字段出现后要求补齐其他字段;dependentSchemas 则会在触发字段出现后执行整段子 Schema,适合 delivery / pickup 这类整组规则切换。

not 和 contains 适合排查什么?

not 适合禁止 production + testMode=true 这类危险字段组合;contains 适合要求数组中至少存在一个符合条件的成员,例如 active admin 或 billing feature。

uniqueItems 和 patternProperties 适合排查什么?

uniqueItems 适合 SKU、标签、权限等数组去重;patternProperties 适合 metric_*、feature_*、env_* 这类动态键名和类型规则。

unevaluatedProperties 和 additionalProperties 有什么区别?

additionalProperties 只看当前 schema object 里已经声明的字段;unevaluatedProperties 更适合 allOf / deep object 组合后的收口,能拦住 composed schema 里没有被前面规则消费的漏出字段。

additionalProperties 适合排查什么?

适合发布前禁止未知字段、限制额外属性值类型,或确认对象是否只允许固定字段集合,常见于订单状态、环境配置和 metadata map 校验。

错误路径解释应该先看哪里?

先看 instancePath 定位出错数据字段,再看 schemaPath 和 keyword 判断失败规则;required 失败时重点看 params.missingProperty,避免只读 message 而忽略真实路径。

dependentRequired 会生效吗?

会。工具会在浏览器本地补充检查 creditCard 需要 billingAddress、shippingAddress 需要 recipientPhone 这类依赖必填字段,避免 AJV 常见 draft 校验忽略该关键词。

format 校验会生效吗?

会。工具在浏览器本地支持 email、date、date-time、uri 和 uuid 等常见 format,用于发布前初筛字段格式。

会上传 JSON 吗?

不会,校验在浏览器本地完成。

导入前为什么要用 Schema 做闸门?

Schema 可以在写入前先拦截缺失字段、类型漂移、枚举不兼容、未知字段和数组约束问题,避免把脏数据直接推进后续导入或回调处理。

Webhook 合约漂移应该优先看什么?

先看字段是否改名、事件类型 enum 是否仍兼容、金额和 ID 是否被字符串化,以及 additionalProperties 是否允许了未评审字段。

AI Prompt 输出为什么要用 JSON Schema 做验收?

当 Prompt 需要产出 answer、sources、limitations、nextAction 等固定字段时,Schema 可以先检查结构是否完整、来源字段是否公开、额外字段是否被误带入。公开示例只应使用合成内容,不放真实 Prompt 日志或平台回答。

API 发布前为什么要做 Schema 合约复核?

发布前合约复核能把 version、breakingChange、endpoint path、method、status 和 reviewedBy 这类字段先跑一遍,避免字段改名、状态枚举、未知字段和数组结构变化进入前端、入库或文档流程。公开结果只使用合成 API 样例。

分页响应为什么要检查 nextCursor 和 hasNextPage?

nextCursor 决定下一次请求能否继续,hasNextPage 决定前端是否展示继续加载。发布前用 Schema 检查它们的类型、缺失和额外字段,可以减少列表重复、漏页或提前停止的问题。

为什么 API 错误响应需要稳定的 code 和 requestId?

code 让客户端按稳定规则处理错误,requestId 让服务端定位一次请求;message 适合给人阅读,不应成为程序分支条件。公开示例只使用合成标识。

Schema 校验错误里的 instancePath 和 schemaPath 怎么看?

instancePath 指向出错数据位置,schemaPath 指向失败规则位置,keyword 说明失败类型。required 错误还要看 params.missingProperty,才能知道缺的是哪个字段。

相关长尾搜索

这些词来自工具名称、用户查看意图和当前分类场景,用来帮助你快速切换相近需求,也让搜索引擎更准确理解页面。

JSON Schema 校验JSON Schema enum 错误JSON Schema type mismatchrequired 字段缺失JSON number string 类型漂移API 字段兼容性校验oneOf 条件校验email format 校验