问题标签 [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.
jsonschema - Json 模式:是否可以验证字符串是 JSON 数组或对象?
出于某种原因,我有一个属性,比如“引用”,它本身就是一个 JSON 字符串。
但我想验证字符串是一个 JSON 数组(在“解码”之后):
是否可以使用 json 模式来做到这一点?JSON对象的同样问题。
数据示例:
python - 使用 python jsonschema 验证日期时间值
我正在使用jsonschema来验证我的 python 字典。我试图验证一个datetime
值,但我不知道该怎么做。
这是我到目前为止所拥有的,这会导致错误,因为 jsonschema 没有datetime
类型:
错误是jsonschema.exceptions.SchemaError: 'datetime' is not valid under any of the given schemas
。如何正确验证这一点?
python - 尝试使用 Python 请求从 url 下载电子表格时获取登录页面
我已经编写了一个脚本,它将从 Sharepoint 下载电子表格到运行脚本的文件夹,并将更新电子表格。该脚本在给定的 Sharepoint 链接上运行良好。当 Sharepoint 链接更改并且现在提供不同的下载 URL 时,虽然我将响应标头的状态代码设置为 200,但下载 Excel 电子表格时,它正在下载登录页面。
然后我尝试从 Chrome 手动打开 url。在 chrome 中也是第一次从给定的 url 显示登录页面,当输入登录信息(用户名,密码)然后自动下载文件,下次何时url 是给定的 chrome 正在直接下载文件(可能是在 cookie 的帮助下)。
我用于下载文件的代码是-
如何提供登录信息,因为我已经在验证用户“HttpNtlmAuth”,然后为什么在下载之前询问登录以及如何在 python 中提供带有请求标头的登录信息。
我还尝试查看响应标头-它包含类似-Cache-Control': 'no-cache, must-revalidate' 的内容。问题是因为这个吗?请告诉我如何解决问题并在请求标头中提供登录信息,以便可以下载文件。
我还尝试使用 - 提供用户名和密码作为有效负载 -
响应头中显示的内容类型是“text/html”
但这也不起作用。有人可以指出错误或可能的解决方案吗? 注意 -有问题的链接是示例链接
jsonschema - 如何在 JSON Schema 中的字段上切换大小写?
我正在使用 Pythonjsonschema
来验证 JSON 记录。这是一个示例架构。这里只有两个案例,但想象一个类似的场景,它有一百个像这样布置的案例。
关键问题是"c"
字段的重复。我希望能够 switch-case on "a"
,验证相应的"b"
,但"c"
始终保持不变。我不想拼出"c"
一百个不同的时间。这可能吗?
谢谢!
python - 以 JSON 格式格式化 Airflow 日志
我需要以 JSON 格式将Apache Airflow日志记录到标准输出。Airflow 似乎并没有开箱即用地投射出这种能力。我找到了几个能够完成这项任务的 python 模块,但我无法让实现工作。
目前,我正在应用一个类airflow/utils/logging.py
来修改记录器,如下所示:
我正在实现此代码,/airflow/settings.py
如下所示:
我已经尝试了几种不同的变体,但无法让 python-json-logger 将日志转换为 JSON。也许我没有进入根记录器?我考虑过的另一个选择是将日志手动格式化为 JSON 字符串。也没有运气。感谢您提供任何替代的想法、提示或支持。
干杯!
python - Python jsonschema 验证器是否使用实际 jsonschema 的超集?
使用 Python jsonschema时,可以定义无法用有效 JSON 表示的模式和实例。
现在
不会引发异常,而下面的代码失败:
我在这里有点困惑:Python 映射{"1": "spam", 2: "eggs"}
不能在有效的 JSON 对象中序列化,同样适用于schema
上面的映射。(在 JSON 对象中是名称/值映射,其中名称必须是字符串,并且不能是整数或其他数据类型)。
这是预期的行为,即 jsonschema 语义被扩展为包括更通用的 python 数据类型,还是上述使用schema
无效并且应该被 jsonschema 库标记为错误?我阅读了文档,但在这一点上找不到提及。
python - jsonschema.validate() 不验证模式中的类型
我不确定我是否在阅读 jsonschema 的文档错误,但是据我所知,这个包应该允许我使用 jsonschema.validate() 检查 JSON 对象是否符合指定的模式。下面的代码没有告诉我"age"
应该是一个数字。
我错过了什么或者这应该有效吗?
任何帮助将不胜感激,谢谢。
python - 如何在 python-jsonschema 文档中设置本地文件引用?
我有一组符合jsonschema的文档。一些文档包含对其他文档的引用(通过$ref
属性)。我不希望托管这些文档,以便可以通过 HTTP URI 访问它们。因此,所有引用都是相对的。所有文档都位于本地文件夹结构中。
如何python-jsonschema
理解正确使用我的本地文件系统来加载引用的文档?
例如,如果我有一个文件名defs.json
包含一些定义的文档。我尝试加载引用它的不同文档,例如:
我收到一个错误RefResolutionError: <urlopen error [Errno 2] No such file or directory: '/defs.json'>
我在Linux机器上可能很重要。
python - jsonschema 通过具有不同名称或类型的键进行验证
我正在从这种类型的 jsons 过渡:
至
我需要一个匹配这两个 json 的 jsonschema。
这是:
使用 python jsonschema 包,它匹配所有 jsons,无论项目编号如何。
任何帮助表示赞赏。