问题标签 [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.
python - Python jsonschema:如何查询模式以确定属性的类型?
考虑以下用例:
我以文本格式配置了网络路由器(OpenWRT),并将其转换为 JSON(具体为NetJSON),路由器使用的文本格式仅使用字符串,我必须将许多配置属性从字符串转换为布尔值和整数。
我想查询 JSON Schema 以自动确定属性的预期类型并执行正确的转换。
我们使用的 JSON 模式非常复杂,包含许多使用allOf
,anyOf
等合并的定义,因此仅在模式的特定部分上循环是不够的。
有没有办法使用python jsonschema 库来做到这一点,或者有其他方法吗?
PS:此功能的实现是开源的,您可以了解更多关于OpenWISP netjsonconfig 库以及将向后转换功能添加到库中的拉取请求。
json - Python JSON模式挖掘
我需要一些分步教程或一些论文来学习如何创建自己的 JSON 模式挖掘工具。如果有人可以分享资源或想法,那就太好了。谢谢!
json - JSONSchema 没有捕获不正确的附加字段?
使用此架构,此文件不会捕获 下的name_en
和legalName_en
字段parties/identifier
,即使在属性additionalProperties: false
上已指定。identifier
这是与:
在 OSX 上,使用python-jsonschema。
我做错了什么,还是这是一个错误?
python - python jsonschema 删除额外的并使用默认值
我正在使用 python jsonschema https://python-jsonschema.readthedocs.io/en/latest/ 并且我试图找到如何使用默认值并在找到时删除其他字段。
有人知道我该怎么做吗?或者可能有另一个解决方案来验证支持默认值并删除任何附加字段(如 js avj)的 jsonschema?
python - 如何将json与python中的模式进行比较?
json数据:
图案:
如何检查所有键都在那里并且它们的类型是否相同?
json_pattern.keys()
只返回options
和PC
,但我name, count, a1, processor, os
也需要。
还有一个问题,如何知道它PC
是options
包含另一个变量的变量?对不起我的英语不好。
python - jsonschema 验证无法解析“孙子”本地文件引用
背景:我有多个引用大型相同对象的 json 模式。这些对象被移动到一个子目录。在下面的示例中,出现了以下依赖项:
- main_schema => positive_integer
- main_schema => 日期
- 日期 => 正整数
- 日期 => 月份
jsonschema 库仅无法解析最后一个依赖项,处理所有其他依赖项都很好。
项目树
代码.py:
从 jsonschema 导入验证导入 json
JSON 模式
main_schema json
日期.json
月.json:
正整数.json:
问题
当我运行它时,程序失败并显示堆栈跟踪:
正如我所调查的,“孙子”依赖关系只有在更早预加载的情况下才能得到解决。因此,如果删除“日期 => 月份”依赖项,或者从 rool 级别强制“预加载”它,一切都会正常工作。
解决方法
将 main_schema.json 修改为如下所示:
如果这样做,验证将成功。但是,我真的不喜欢这种解决方法。如果您有任何解决方法的想法,请告诉我。
系统信息:
- Windows 7的
- Python 3.6.0
- jsonschema 2.6.0
json - 使用 jsonschema 和 robotsframework 验证 json
谁能帮助我开始了解如何使用 RobotFramework 通过 json-schema 验证 json 响应?
理想情况下,json-schema 通过 http 请求从外部引用:示例http://api-bl-uk.northeurope.cloudapp.azure.com/api/v1/crm/schemas/contact
目前进展:
在哪里mytest.robot
:
我在schemas
名为的子目录中有一个架构service.json
当我运行测试时,我得到...
所以看来我错过了一个相当基本的难题:
找不到名称为“Validate Json”的关键字
更新
盲目跟随“示例代码”的问题
问题是我*** Settings ***
在声明之前缺少标题Library
,加上要使用的架构名称错误(在标题修复后很容易解决)。
完整示例:
现在...如何使用外部引用的架构文件?探索继续!
:)
python - 从架构中检索所有属性的列表(解析引用)
考虑一个“复杂”模式,它使用来自其他文件的引用,如下面的文件。有没有一种简单的方法来获取模式中定义的所有属性的列表,也许使用一些已经在的机制python-jsonschema
?我认为我只需要顶层的属性,但通用的方法会很棒。
我需要很多应用程序,但基本上我需要能够仅对与模式中定义的模式匹配的对象的那些“属性”运行不同的操作(这样我也不会将这些操作应用于任何架构中未定义的其他属性)。例如,假设我想打印对象所具有的每个属性的值,这是在模式中定义的。为此,我需要架构定义的属性列表。另一个例子是,如果我想仅基于模式定义的属性比较两个对象。
示例应用:
python - json.decoder.JSONDecodeError: Expecting value: , json.decoder.JSONDecodeError: Expecting property name 括在双引号中:
嗨,我正在 Python 文件中使用 JSON:
加载时出现此错误: json.decoder.JSONDecodeError: Expecting value:
或者有时当我添加一些东西时: json.decoder.JSONDecodeError: Expecting property name 括在双引号中: