问题标签 [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.

0 投票
0 回答
31 浏览

jsonschema - 在jsonschema中,如何使用一个对象中某个属性的值来检查另一个对象中的特定属性

我想检查以下结构:

除了检查一些架构约束barbaz确保它们格式正确之外,我还想使用thing-definition-keyin bar的值"baz"来确认baz在 thing-definitions 对象中有一个条目,并且它满足一定的限制条件。我知道如何在一个对象内使用属性依赖项,而不是在两个对象之间。

请注意,我正在使用https://python-jsonschema.readthedocs.io/en/stable/执行此操作,但如果可能的话,我正在寻找与语言无关的答案。

0 投票
1 回答
173 浏览

python - 如何需要两个 jsonschema 属性之一,但还要设置默认值?

我尝试验证一个 jsonschema,它定义了一个带有 aradius或 adiameter或两者都没有的圆,然后只设置默认半径。这是我的架构:

这是验证器,它设置默认值(如JSON 模式常见问题解答中所述):

这个验证器会在我验证架构之前设置默认值,所以我只能设置半径或都不设置,但设置直径总是会引发错误。如果我将其更改为首先验证并稍后设置默认值(我宁愿不这样做,但可以),那么它会设置默认半径,尽管所需的直径已经存在。

有没有办法通过在python中设置默认半径来实现这一点而无需硬编码?

0 投票
0 回答
151 浏览

json - JSON 数据架构 allOf $ref 外部 json 架构文件不起作用

我最近开始为我们的一个项目探索 JSON Schema。用例非常简单,经过大量谷歌搜索后,我仍然无法使其工作。其实我有点迷失在这里。. 这就是我尝试过的https://json-schema.org/understanding-json-schema/structuring.html

我的common_data_schema.json

现在我的server_update.json架构,我想验证common_data_schema+new properties

但是,当我尝试使用https://python-jsonschema.readthedocs.io/en/stable/server_update.json验证架构时,它不会考虑架构定义jsonschema $refcommon_data_schema.json

schema loader逻辑很简单,我所有的模式都驻留在 文件artifacts夹中

下面的json schema验证逻辑

0 投票
0 回答
16 浏览

flask - 增加 FlaskJsonSchema 错误消息的详细程度

我正在验证对象的 json 树。由于一个对象的子对象可以是一组可能的对象之一,因此我正在使用应用于“$ref”引用的“anyOf”属性。

使用“anyOf”属性的那一刻,验证器错误消息的有用性显着下降。验证器没有说明为什么没有一个引用的对象不匹配。它只是说没有可用的模式是匹配的。

有没有办法告诉烧瓶验证器解释为什么没有一个指定的模式匹配?

0 投票
0 回答
90 浏览

json - jsonschema 期望 allOf 的类型为“object”或“boolean”

我正在使用 PyPi jsonschema 来验证我的测试模式。

以下是 test_schema.json 的内容:

使用 jsonschema.Draft7Validator.check_schema(test_schema),我收到以下错误,即使我从官方草案 7 示例中复制了一般模式结构:

0 投票
1 回答
240 浏览

jsonschema - 如何使用 JSON Schema 实现条件嵌套属性

我有基本的 json 架构base.schema.json

现在在另一个 json 中引用了模式定义

基本上添加if-else逻辑以确保remote_os=Linux file应该结束.bin并且remote_os=Windows file应该结束.exe
现在我正在尝试验证以下数据

[<ValidationError: "'abc.bin' does not match '^(.*.)(exe)$'">]. 不知道这里有什么问题

0 投票
1 回答
431 浏览

jsonschema - Python jsonschema 无法验证 JSON 模式条件嵌套属性

重新发布问题如何使用 JSON Schema 实现条件嵌套属性(标记为重复,尽管它是一个完全不同的问题)我的 JSON 模式在下面尝试基于:JSON Schema if/then 需要嵌套对象

基本上添加if-else逻辑以确保remote_os=Linux file应该结束.bin并且remote_os=Windows file应该结束.exe 现在我正在尝试验证以下数据

得到错误:[<ValidationError: "'abc.bin' does not match '^(.*.)(exe)$'">]

当尝试调试python jsonschema尝试在此架构之上构建的属性以验证我的数据时。收到

'pattern': '^(.*.)(exe)$'所以它总是与不考虑的匹配remote_os。寻找一些指导,如何解决这个问题。

0 投票
0 回答
88 浏览

jsonschema - 本地文件引用的嵌套条件属性在 python-jsonschema 中不起作用

RefResolverValidator脚本是

我的 JSON 架构看起来像

base.schema.json=>{"$schema": "http://json-schema.org/draft-07/schema#" }

defination.schema.json=> https://jsonschema.dev/s/FZDbO

update.schema.json=> https://jsonschema.dev/s/lvLFa

得到错误:jsonschema.exceptions.ValidationError: 'ad7a.exe' does not match '^(.*.)(bin)$'

同样的事情我已经测试过https://json-schema.hyperjump.io/它工作得非常好,怀疑python-jsonschema只有一些问题。

0 投票
2 回答
31 浏览

python - Python Json 错误,期待逗号分隔符

我尝试了很多方法,但不确定为什么会出现这个错误。这是我在 SPYDER 上尝试的小脚本。请帮忙。

0 投票
2 回答
197 浏览

python - python jsonschema在列表项上使用模式不起作用

我想使用 json 模式来验证这样的事情:

Class.function我想使用正则表达式来检查列表内容是否看起来像'dataContentValidation.get_multiple_types_columns' 这样

我也尝试用项目替换包含但它仍然不起作用。我究竟做错了什么?