[英]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.