繁体   English   中英

JSON 架构嵌套 allOf/anyOf/oneOf 不起作用

[英]JSON Schema nested allOf/anyOf/oneOf not working

我尝试使用以下架构验证此 JSON。

{
  "a": "1"
}

架构:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "allOf": [
    {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "a": {
              "type": "integer"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "b": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    }
  ]
}

(这只是演示问题的简化示例。)

验证应该失败(“a”必须是 integer 而不是字符串)但未检测到错误。 但是如果我用 oneOf 或 anyOf 替换 allOf,它会按预期失败。 此外,如果我在嵌套模式中将 oneOf 替换为 anyOf 。 我错过了什么,还是验证器有问题?

编辑 - 它似乎是 IntelliJ IDEA 验证器中的一个错误。 它适用于 python3-jsonschema、Java Everit、jsonschema.dev。

这是 IntelliJ IDEA 问题: https://youtrack.jetbrains.com/issue/IDEA-284601

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM