问题标签 [python-jsonschema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 如果在另一个属性中提到它,则 JSON 模式规则要求属性存在
拥有这样的 JSON:
attribute_1, attribute_X
- 名称是动态的,也可以是blabla-something
,我没有固定的属性名称列表。我想创建一个 JSON 模式验证,attribute_2
如果它在嵌套的other_attribute_reference
. 我知道JSON 模式中的if/else,但是当属性名称是动态的并且几乎可以是任何东西时,我将如何使用它?
json - 如何为nestes字典编写jsonschema
我有带有以下 json dicts 的文件,其中所有键和值都是字符串:
我的架构看起来像这样,但它似乎不起作用(您能否就我在使用此架构时做了什么提供建议:
json - JSON 模式无法解析 $ref,需要 StartObject 布尔值,得到字符串
无法解析另一个文件中的子模式$ref
错误信息:
Unexpected token encountered when reading value for '$ref'. Expected StartObject, Boolean, got String. Path 'properties.organization.items.properties.$ref'
根模式
子模式位于文件的同一目录中organisation.json
在我看来,根模式可以找到子模式。但是,由于某些数据类型的差异,它无法加载子模式。但我不确定差异是什么?
在错误消息中Expected StartObject.got String
,我不确定StartObject
是什么以及String
指的是什么。
json - 如何对 JSON 模式对象的值设置限制?
我想检查 json 文件中多个条目的特定值。我写了一个 JsonSchema 但它没有显示正确的结果。
例如:
json 文件将被验证,如果它只有一个“main”为真,其余为假。如果它有多个 true 则不会验证。我尝试了以下 jsonSchema:
python - JSONSchema 验证失败,$ref (Draft v7)
我按照 v7 规范草案创建了一个 JSON 模式。架构如下所示:
但出现错误无法解析架构引用“#/definitions/categoryList”。路径 'properties.songs.items.properties.composition.properties.publishing.items.properties.territory',第 40 行,第 24 位。如果我省略定义部分,它会完美运行
json - 如何验证子属性在对象的所有子项中仅设置一次
我正在尝试验证以下 JSON
我想确保expose_port
里面的services
孩子只能定义一次。所以添加"expose_port": 1234
到“db”应该使 JSON 无效。
到目前为止,这是我的架构:
到目前为止,我已经尝试将 allOf 和 oneOf 结合起来,但这似乎只适用于当前的孩子,而不是看兄弟姐妹。有谁知道我的问题的解决方案?:)
谢谢!
python - 用于查看/ JSON Schema 文件的 Python 模块
我正在寻找一个用于加载 JSON Schema 文件并将其作为对象处理的 Python 模块。我可以通过常规json
模块和 eg来做到这一点dictor
,但我希望找到一个 JSON Schema 特定模块,例如可以本机理解dependencies
和definitions
类似概念,提供更容易处理数据。
需要明确的是,我不是在寻找 JSON Schema 验证工具,而是在寻找 JSON Schema 对象管理器。这样的事情存在吗?
为了说明我要进行的处理类型,请参见下文:
json - 如果我使用 JSON Schema 的 if-else 条件,是否有办法针对 JSON 中存在的任何附加键引发错误?
我有一个用例,我想检查 JSON 中存在的键,具体取决于不同键的值。
示例 JSON-1:
示例 JSON-2:
根据这些例子,
规则 1。如果“key_name”的值为“value1”,那么JSON 中应该只有“foo”键。
规则 2。如果“key_name”的值为“value2”,那么JSON 中应该只有“bar”键。
我编写了以下 JSON Schema 来验证这些 JSON:
现在,根据规则,以下 JSON 无效,应该引发错误。
或者
但是,上面的 JSON Schema 没有这样做。它仅根据“key_name”的值检查“foo”/“bar”键是否。它无法检查是否存在任何新密钥。
怎么办?
json - 如果我使用 JSON Schema 的 if-else 条件,有没有办法引发错误,其中提到 JSON 中存在的附加键的名称?
我有一个用例,我想检查 JSON 中存在的键,具体取决于不同键的值。
示例 JSON-1:
示例 JSON-2:
这里有两条规则:
规则 1。如果“key_name”的值为“value1”,那么 JSON 中应该只有“foo”键。
规则 2。如果“key_name”的值为“value2”,那么 JSON 中应该只有“bar”键。
现在,根据规则,以下 JSON 是无效的,应该会引发错误。
或者
我已经根据这个问题编写了用于验证这些 JSON 的 JSON 模式。
但是如果我使用它,我会收到以下错误:
JSON 在任何给定模式下均无效。
虽然这解决了目的,但这个错误并不能完全解释为什么 JSON 无效。我期待一些错误,例如:
“不允许附加属性('bar' 是意外的)”
这是出现任何附加键时的默认错误
如何去做?
python-3.x - 在 python jsonschema 中验证 oneOf 的递归错误
这里我尝试使用 jsonschema(Draft7Validator) 库验证我的 JSON 模式
验证架构:
针对 JSON 数据:
{ 'name': 'William Shakespeare', 'address': 'Henley Street, England', 'Packet': {'ShippingSerialID': 'xyz'} }
通过返回错误:
这里对于第一个它会生成深度错误“Packet.ShippingSerialID”->“'xyz' is too long”,但对于第二个 od oneOf 它只会为根元素“'Packet_2' is a required property”生成错误。从中期待的是:
我怎样才能达到上述结果。
用于此的 Python 代码如下所示: