【问题标题】:JSON Schema nested allOf/anyOf/oneOf not workingJSON Schema 嵌套 allOf/anyOf/oneOf 不起作用
【发布时间】:2022-01-14 07:07:05
【问题描述】:

我尝试使用以下架构验证此 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”必须是整数而不是字符串)但未检测到错误。 但是如果我用 oneOf 或 anyOf 替换 allOf,它会按预期失败。 此外,如果我在嵌套模式中将 oneOf 替换为 anyOf 。 是我遗漏了什么,还是验证器有问题?

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

【问题讨论】:

  • 此示例实际上并未显示可重现的问题。它按预期工作......看:jsonschema.dev/s/RilXu
  • 我怀疑我知道问题所在,但我无法确认,因为我无法用这个例子重现。我毫不怀疑你正面临挑战 =]

标签: json validation intellij-idea schema jsonschema


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2020-06-09
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多