jsonschema.exceptions.SchemaError:'maximum' 是 'exclusiveMaximum' 的依赖项



在使用python的jsonschema模块时,我得到一个元模式验证错误。尝试运行以下代码来复制:

import json
from jsonschema import validate
myschema = """
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"borderFrac": {
"type": "number",
"exclusiveMinimum": 0.0,
"exclusiveMaximum": 0.5
}
}
}
"""
validate({"borderFrac": 0.4}, schema=json.loads(myschema))

这是我得到的错误:

jsonschema.exceptions.SchemaError: 'maximum' is a dependency of 'exclusiveMaximum'

为什么?

抛出这个错误是因为" exclusivminimum "one_answers";exclusiveMaximum"改变了模式版本之间的行为&;draft-04&;和"2020 - 12 -":

在JSON Schema Draft 4中,exclusivminimum和exclusivemmaximum的工作方式不同。它们是布尔值,表示最小值和最大值是否互斥。例如:

  • 如果exclusiveMinimum为假,则x≥minimum.
  • 如果exclusiveMinimum为真,x>最小值。

修复:因此,我们应该更新"$schema"到最新的一个:

...
"$schema": "https://json-schema.org/drafts/2020-12/schema",
...

请注意,自2013-01年发布的草案04以来,它实际上已经有了相当多的版本。

相关内容

  • 没有找到相关文章

最新更新