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

如何为嵌套JSON Schema中baseline下的version定义必填属性?

问题解答

仅将baseline设为必填不可行。

原因分析

你当前的JSON Schema中,required: ["baseline"]只是约束versions对象必须存在baseline这个属性,但baseline本身是一个嵌套对象,它的version字段并没有被设置为必填项。这就导致:即使提交的JSON里有baseline节点,只要该节点下没有version字段,依然能通过校验,完全达不到你要让baseline.version成为必填属性的需求。

正确修改方案

要实现baseline.version必填,需要在baseline的对象定义内部添加required数组,指定version为必填字段,修改后的完整Schema如下:

"versions": {
  "type": "object",
  "properties": {
    "pattern": {
      "version": {
        "type": "string",
        "description": "string"
      }
    },
    "baseline": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "description": "string"
        }
      },
      "required": ["version"] // 标记baseline下的version为必填
    }
  },
  "required": ["baseline"] // 确保versions对象必须包含baseline属性
}

注:原Schema中baseline的定义缺少type: "object",建议补上让Schema结构更严谨。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 05:08:10