You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSON Schema properties使用$ref时语法合法但无法正确校验载荷问题

问题产生原因
  • 主Schema结构逻辑错误:你误将校验规则关键字allOf写入了properties字段内部,JSON Schema会将allOf识别为animal对象下的一个普通属性的名称,而非全局生效的组合校验指令,完全没有触发你预期的外部引用校验逻辑。
  • 被引用的ref.json不符合JSON Schema规范:作为用于校验对象的外部Schema,它缺少根层级的type: "object"声明,也没有将属性规则包裹在properties字段下,当前结构会被校验器判定为无效规则,无法正常执行校验。
修复方案

第一步:修正ref.json的结构

补充合法的对象校验Schema结构,内容如下:

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string"
    }
  },
  "required": ["action"]
}

第二步:修正主Schema的结构

直接在animal属性的规则层级引用外部Schema即可,不需要多余的嵌套配置:

{
  "type": "object",
  "properties": {
    "animal": {
      "$ref": "file:./ref.json"
    }
  },
  "required": ["animal"]
}

调整完成后,你提交的测试payload中action为数字类型的场景会正常触发校验失败的提示。

内容的提问来源于stack exchange,提问作者Secret Sauce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:24:04