带有“ oneOf”的json模式中的嵌套对象

问题描述

我有一个带有嵌套结构的json,每种情况下项目可能有所不同。 所以我决定创建这样的架构:

{
  "$schema": "http://json-schema.org/draft-04/schema#","type": "object","additionalProperties": false,"properties": {
    "a": {
      "type": "object","additionalProperties": {
        "oneOf": [
          {
            "type": "string"
          },{
            "type": "number"
          },{
            "type": "array"
          },{
            "type": "null"
          },{
            "type": "boolean"
          },{
            "type": "object","additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },{
                  "type": "number"
                },{
                  "type": "boolean"
                }
              ]
            }
          }
        ]
      }
    }
  }
}

我尝试验证JSON:

{
  "a": {
    "b": "somestring","c": 12345,"arr": [1,2,3,4,5],"o": {
      "s": "somestring","n": 12345
    }
  }
}

但是每次我尝试验证json时,都会在“ o”字段出现错误:

JSON对'oneOf'中没有任何模式有效

无效的类型。预期为布尔值,但得到了对象

无效的类型。预期为Null,但有Object

无效的类型。预期的数组但有对象

无效的类型。预期为String,但有Object

无效的类型。预期数量但有对象

是否不允许将嵌套对象与“ oneOf”一起使用? 也许还有另一种解决方案

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)