P51 · 输出格式与约束

校验数据格式后再继续

Schema Validation Gate

只有输出通过 schema 校验,才进入下一步。

编辑审核

以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。

使用场景

发布脚本准备消费review.json,要求status枚举和非空checks数组。教学候选把status写成OK,肉眼看像合理评估,但不符合给定JSON Schema。

具体做法

确认实际schema版本和校验器契约,先保存候选文件。对该文件运行真实校验器,记录文件摘要、命令/版本、退出状态及诊断。按具名违规修复并重新校验,本例最多两次修复;失败不交给消费程序。消费前确认仍是已验证字节,修改或重新生成后须重验。格式通过后另检查必要语义。

反例

看一眼review.json,内容像JSON就说schema已通过,然后交给发布脚本。

改进写法

用给定schema与校验器检查review.json。status=OK若非法,按诊断改为有证据支持的允许状态,不随意改为PASS;记录验证文件摘要和结果。最多修复两次,仍失败则停止交付。下游只消费本次验证对应的字节。

为什么这样改

要求运行检查器,能把格式承诺变成可复核诊断。文件身份绑定又防止“检查了A、使用了B”;修复不能以通过schema为由改变事实。

如何验证

教学输入status=OK应产生枚举违规;修为UNKNOWN并满足其他必需字段后可通过结构检查。随后改动文件,应触发重新验证。另放入合法但虚假的PASS,说明schema可能通过而语义检查仍失败。

适用边界

退出0含义取决于校验器,先核实其失败契约。结构有效不证明真实性、视觉效果或全部行为;目标应用也可能有schema未覆盖的限制。冻结来源的文档/打包校验器是机制示例,不是本JSON任务的工具。

原文与版本

如何收录这些方法

相关方法