问题标签 [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 投票
1 回答
938 浏览

jsonschema - Json 模式:是否可以验证字符串是 JSON 数组或对象?

出于某种原因,我有一个属性,比如“引用”,它本身就是一个 JSON 字符串。

但我想验证字符串是一个 JSON 数组(在“解码”之后):

是否可以使用 json 模式来做到这一点?JSON对象的同样问题。

数据示例:

0 投票
3 回答
5817 浏览

python - 使用 python jsonschema 验证日期时间值

我正在使用jsonschema来验证我的 python 字典。我试图验证一个datetime值,但我不知道该怎么做。

这是我到目前为止所拥有的,这会导致错误,因为 jsonschema 没有datetime类型:

错误是jsonschema.exceptions.SchemaError: 'datetime' is not valid under any of the given schemas。如何正确验证这一点?

0 投票
0 回答
111 浏览

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”

但这也不起作用。有人可以指出错误或可能的解决方案吗? 注意 -有问题的链接是示例链接

0 投票
1 回答
1570 浏览

jsonschema - 如何在 JSON Schema 中的字段上切换大小写?

我正在使用 Pythonjsonschema来验证 JSON 记录。这是一个示例架构。这里只有两个案例,但想象一个类似的场景,它有一百个像这样布置的案例。

关键问题是"c"字段的重复。我希望能够 switch-case on "a",验证相应的"b",但"c"始终保持不变。我不想拼出"c"一百个不同的时间。这可能吗?

谢谢!

0 投票
1 回答
3463 浏览

python - 以 JSON 格式格式化 Airflow 日志

我需要以 JSON 格式将Apache Airflow日志记录到标准输出。Airflow 似乎并没有开箱即用地投射出这种能力。我找到了几个能够完成这项任务的 python 模块,但我无法让实现工作。

目前,我正在应用一个类airflow/utils/logging.py来修改记录器,如下所示:

我正在实现此代码,/airflow/settings.py如下所示:

我已经尝试了几种不同的变体,但无法让 python-json-logger 将日志转换为 JSON。也许我没有进入根记录器?我考虑过的另一个选择是将日志手动格式化为 JSON 字符串。也没有运气。感谢您提供任何替代的想法、提示或支持。

干杯!

0 投票
1 回答
896 浏览

python - Python jsonschema 验证器是否使用实际 jsonschema 的超集?

使用 Python jsonschema时,可以定义无法用有效 JSON 表示的模式和实例。

现在

不会引发异常,而下面的代码失败:

我在这里有点困惑:Python 映射{"1": "spam", 2: "eggs"}不能在有效的 JSON 对象中序列化,同样适用于schema上面的映射。(在 JSON 对象中是名称/值映射,其中名称必须是字符串,并且不能是整数或其他数据类型)。

这是预期的行为,即 jsonschema 语义被扩展为包括更通用的 python 数据类型,还是上述使用schema无效并且应该被 jsonschema 库标记为错误?我阅读了文档,但在这一点上找不到提及。

0 投票
2 回答
738 浏览

python - 如何使用 Python 将列表中的嵌套 json 存储到文本文件中?

我正在创建一个嵌套的 json,并将其存储在一个列表对象中。这是我的代码,它按预期获得了正确的分层 json。

样本数据:

在此处输入图像描述

datasource,datasource_cnt,category,category_cnt,subcategory,subcategory_cnt 劳动统计局,44,就业和工资,44,就业和工资,44

abc 包含如下所示的数据。这是预期的结果。

现在我试图将它存储到一个 json 文件中。

问题来了。这会以这种方式写入数据(请参阅下文),这不是有效的 json 格式。如果我尝试使用 json 转储,它会给出“json 序列化错误”

你能帮我吗?

预期结果 :

0 投票
1 回答
1653 浏览

python - jsonschema.validate() 不验证模式中的类型

我不确定我是否在阅读 jsonschema 的文档错误,但是据我所知,这个包应该允许我使用 jsonschema.validate() 检查 JSON 对象是否符合指定的模式。下面的代码没有告诉我"age"应该是一个数字。

我错过了什么或者这应该有效吗?

任何帮助将不胜感激,谢谢。

0 投票
6 回答
9235 浏览

python - 如何在 python-jsonschema 文档中设置本地文件引用?

我有一组符合jsonschema的文档。一些文档包含对其他文档的引用(通过$ref属性)。我不希望托管这些文档,以便可以通过 HTTP URI 访问它们。因此,所有引用都是相对的。所有文档都位于本地文件夹结构中。

如何python-jsonschema理解正确使用我的本地文件系统来加载引用的文档?


例如,如果我有一个文件名defs.json包含一些定义的文档。我尝试加载引用它的不同文档,例如:

我收到一个错误RefResolutionError: <urlopen error [Errno 2] No such file or directory: '/defs.json'>

我在Linux机器上可能很重要。


(我将其写为问答,因为我很难弄清楚这一点,并且观察到其他人 也遇到了麻烦。)

0 投票
1 回答
161 浏览

python - jsonschema 通过具有不同名称或类型的键进行验证

我正在从这种类型的 jsons 过渡:

我需要一个匹配这两个 json 的 jsonschema。

这是:

使用 python jsonschema 包,它匹配所有 jsons,无论项目编号如何。

任何帮助表示赞赏。