JSON Schema 验证器 Python2024 年 8 月 29 日 | 5 分钟阅读 Python 中的 JSON SchemaJSON Schema 是一个 Python 语言,用于验证 JSON 文档。它包含键/值对,其中每个键用于指定特定 JSON 数据应如何构造。使用 JSON Schema 可以提供易于理解的高质量数据和文档。 JSON Schema 是JSON 的文档,它定义了任何 JSON 数据的 Schema。JSON Schema 中存在的键具有不同的特殊含义。在 JSON 文档中,Schema 指定了每个字段的数据类型,这与 SQL 数据库中的表定义非常相似。它还指定了哪些字段是必需的,哪些是可选的。 JSON Schema 描述
Python 中可用的 JSON Schema Validator 是jsonschema。 让我们深入了解 Python 的 jsonschema。 JsonschemaJSON Schema 通过jsonschema 在 Python 中实现。通过使用 jsonschema 创建自定义 Schema,我们可以根据它来验证任何 JSON 文档,如果通过,我们就可以说该 JSON 文档是有效的。 jsonschema 在 Python 中有一些关键字
这些是用于在 Python 中验证 JSON 文件的一些关键字。 Python 中 JSON 的验证首先,我们必须检查字符串是否是有效的 JSON 在 Python 中。 当从任何 API 收到任何 JSON 响应时,我们必须在执行任何操作之前对其进行验证。 Python 提供了一个名为jsonschema 的模块,用于根据 Schema 验证 JSON 对象。我们可以通过命令提示符或任何终端使用此命令直接安装此模块 python -m pip install jsonschema 现在,让我们根据 JSON Schema 验证 JSON 对象。 JSON 包提供了两个方法来使用 Python 解析 JSON 数据。
如果传递的字符串无法解码为 JSON,它将引发ValueError。可以通过json.loads() 验证 JSON 响应。 让我们看一个简单的例子来检查 JSON 数据是否有效。 代码 输出 This JSON string is Valid: False This JSON string is Valid: True 说明 在此代码中,我们首先导入了jsonschema 模块。然后,我们创建了一个名为 validate_JSON 的函数,该函数检查给定数据是否有效。如果传递的数据无效,它将引发异常;否则,它将验证数据。我们传递了两种不同的数据来检查它们是否有效。传递的第一份数据无效,因为它不符合 Schema,因此返回 False。第二份数据有效,因为它符合正确的 Schema 语法,因此返回 True。 我们可以通过以下另一种方法检查数据的验证情况 首先,我们必须创建一个 Schema 来检查数据是否有效。 说明 我们创建了一个 Schema,其中定义了对象及其类型。 现在,我们将添加实例来检查 JSON 的验证。 说明 我们声明了一个具有不同对象及其值的实例。它将根据 Schema 检查实例。实例的值符合 Schema;因此,它是有效的。 我们将检查更多实例 输出 ValidationError: 10 is not of type 'string' Failed validating 'type' in schema['properties']['Field']['items']: {'type': 'string'} On instance['Field'][0]: 10 说明 在此实例中,我们添加了对象,但“Field”对象具有数值,但被设置为字符串值。因此,它会引发验证错误。 说明 尽管我们没有为“Field”对象设置任何值,但它是有效数据,因为数组可以为空。 如何使用命令行验证 JSON 对象?要使用命令行验证 JSON 对象,Python 提供了一个名为 json.tool 的模块。在对 JSON 对象执行任何操作(例如将其添加到文件或发送给客户端)之前,我们必须将验证后的数据写入文件。 以下命令用于验证 JSON 格式字符串中的 Python 字典对象。 输出 { "Cust_ID": 110, "Product": "ABC" } 说明 在此,我们使用了 json.tool 模块来验证 Python 字典对象。此命令可以在命令行中运行,由于对象有效且为 JSON 格式,因此它会返回对象作为输出。 我们也可以通过创建一个JSON 格式的文件并使用 json.tool 来验证JSON 文件。 1. 创建 JSON 文件 让我们创建一个包含不同客户详细信息的 JSON 文件。 在此 JSON 文件中,我们添加了多个客户 ID、姓名、产品和价格,并将其保存为 customer.json。 2. 验证 JSON 文件 要验证 JSON 文件,我们需要在命令提示符或终端中运行此命令 输出 { "Cust_id": 1001, "Cust_name": "ABC", "Product": "Pen", "Price": 100, "Cust_id (2)": 1002, "Cust_name (2)": "XYX", "Product (2)": "Apple", "Price (2)": 300 } 说明 我们已经验证了 JSON 文件,因为它采用 JSON 格式。它将文件对象打印为输出。 我们可以验证多个 JSON 文件、包含多个元组的文件以及包含嵌套对象的文件。所有文件的 Schema 都将不同,但验证文件的方法将相同。 |
由于机器学习和深度学习,计算机视觉经历了革命,使计算机能够理解和解释视觉数据。预处理训练数据集是为图像分类创建高效机器学习模型的关键过程之一。谷歌的开源 TensorFlow 机器学习框架……
阅读 6 分钟
编程很有趣,不是吗?当我们运用创造力时,我们可以从中获得更多乐趣。打印到指定数字的自然数并不那么有趣,但是如果我们能创建一个数字的金字塔呢?听起来很有趣吗?本文包含了逻辑来...
阅读9分钟
DICOM,数字成像与医学通信,是医学成像系统的标准语言。每当我们听到“DICOM”这个词时,有些人可能认为它只是医学图像。然而,医疗分析师/数据科学家可能会像对待任何其他医疗数据集一样,将其视为宝藏,因为它...
阅读 4 分钟
在本文中,我们将学习如何在 Python 中将字符串转换为其二进制等效项。我们知道字符串是由字符串组成的序列,并用反引号表示。二进制数字的形式为 0 和 1,信息始终编码在...
阅读 3 分钟
在 Python 中,有许多用于特定目的的函数,它们在函数名前后都有双下划线。它们被称为魔法函数或 dunder 方法。例如:__abs__、__contains__ 等。一些魔法方法的示例如下:__str__() 函数:这个...
阅读 3 分钟
OpenWeatherMap 确实是一项为 Web 服务和移动应用程序的开发者提供天气信息的服务,包括当前天气信息、预报和历史数据。它提供有限的免费使用层以及具有 JSON、XML 和 HTML 端点的 API。用户可以...
阅读 3 分钟
职业抱负调查提供有关人们工作目标和愿望的信息。它包含有关价值观、长期目标、理想工作条件和爱好的查询。如果您想了解如何分析从调查中获得的信息,本教程适合您。在本教程中,...
阅读 23 分钟
堆和优先队列简介 优先队列和堆是相当不受欢迎但令人惊讶地有益的数据结构。这些数据结构为查找数据集中最佳元素等问题提供了非常易于使用且高效的解决方案。...
阅读 6 分钟
在本教程中,我们将了解字符串格式化机制。f-string 是格式化字符串的最佳方式。字符串的格式化样式使字符串更具可读性、更简洁且不易出错。它的速度也比其他方法快。在深入研究...
阅读 6 分钟
字典是 Python 中最常用的数据类型之一。它是键:值对的无序集合。每个值都有一个对应的键来标识它。字典是可变集合,意味着我们可以修改值。使一个...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India