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

如何在JSON Schema中强制对象属性仅用指定属性,禁止空键等未定义属性

JSON Schema 限制对象仅包含指定属性的修改方案

你当前的Schema里,uniqueItems是用于数组的关键字,对对象类型的属性完全无效,需要移除。要实现"仅允许已定义的property1、property2、property3,禁止任何未定义属性(包括空键"")"的需求,核心是添加additionalProperties: false关键字。

修改后的完整Schema如下:

{
  "type": "object",
  "properties": {
    "object": {
      "type": "object",
      "properties": {
        "property1": {
          "type": "string"
        },
        "property2": {
          "type": "string"
        },
        "property3": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  }
}

关键说明:

  • additionalProperties: false:明确指定该对象不允许出现任何未在properties中定义的属性,包括空键""这类非常规属性。
  • 如果你还需要强制要求property1、property2、property3必须全部存在,可以在object的Schema中添加required数组,示例如下:
    {
      "type": "object",
      "properties": {
        "object": {
          "type": "object",
          "properties": {
            "property1": {
              "type": "string"
            },
            "property2": {
              "type": "string"
            },
            "property3": {
              "type": "string"
            }
          },
          "additionalProperties": false,
          "required": ["property1", "property2", "property3"]
        }
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:45:45