江苏省城乡建设厅建设网站无水印logo免费一键生成
江苏省城乡建设厅建设网站,无水印logo免费一键生成,国家企业信用信息公示系统广西,贸易网站建设方案文章目录 在 Python 中将数据类转换为 JSON在 Python 中将数据类实现为字典在 Python 中为每个 JSON 根节点创建一个数据类 在本篇文章中#xff0c;我们将了解 Python 如何支持 JSON 来为每个 JSON 根节点创建数据类。 我们还将学习 dataclass 作为 Python 字典的实现。 在 P… 文章目录 在 Python 中将数据类转换为 JSON在 Python 中将数据类实现为字典在 Python 中为每个 JSON 根节点创建一个数据类 在本篇文章中我们将了解 Python 如何支持 JSON 来为每个 JSON 根节点创建数据类。 我们还将学习 dataclass 作为 Python 字典的实现。 在 Python 中将数据类转换为 JSON
JavaScript Object Notation 或 JSON 表示使用由编程语言的文本组成的脚本可执行文件来存储和传输数据。
Python 通过 JSON 内置模块支持 JSON。 因此我们将 JSON 包导入到 Python 脚本中以利用此功能。
JSON 中使用的带引号的字符串包含键值映射中的值。 它可以与 Python 的字典相媲美。
Python 原生支持 JSON 功能并且 JSON 显示类似于标准库中的 marshal 和 pickle 模块用户的 API。
另一方面数据类创建用于在其中存储数据的数据传输对象 这些对象需要适当的定义方法来进行相等比较有时用于显示。
dataclass 用于为数据传输类创建方法和短语法。
在 Python 中将数据类实现为字典
Python 3.7 及更高版本是唯一支持数据类装饰器的版本。 它产生一个对象通常称为数据传输对象其唯一功能是存储数据。
问题在于为这些对象提供正确的功能需要创建用于相等比较、显示等的方法。
这些方法的开发必须是劳动密集型的并且容易出错。 数据类为您生成所有这些方法为数据传输类提供了一个简短的语法。
它使用略有改动并且更有效的 dataclasses.asdict 版本进行序列化。
第一次将 JSON 反序列化为数据类实例时您正在遍历数据类字段并为每个注释类型创建一个解析器这使得该过程在重复时更加有效。
在 Python 中为每个 JSON 根节点创建一个数据类
由于“users”字段是一个包含“id”和“name”的对象数组我们可以看出我们需要构造两个类“Test”和“User”。
示例代码
from dataclasses import dataclass
from typing import Listdataclass
class User:id: 1name: Kelvindataclass
class Test:id: 2userid: Jack
users: List[User]每个 JSON 属性都应映射到类型安全的 Python 属性。
以下代码将每个 JSON 节点和属性映射到 Python 类和属性。 为此我们在 Python 类中创建了一个静态方法负责将我们的字典映射到您的 Python 属性。
示例代码
from typing import List
from dataclasses import dataclass, asdict, field
from json import dumpsdataclass
class Students:id: 1name: stu1propertydef __dict__(self):return asdict(self)propertydef json(self):return dumps(self.__dict__)test_object_1 Students(id1, nameKelvin)
print(test_object_1.json)输出:
{id: 1, name: Kelvin}请记住数据传输对象是由数据类创建的用于在其中存储数据。 因此这些对象需要正确的方法定义来进行相等比较和偶尔显示。
数据传输类的方法和语法是使用数据类创建的。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85261.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!