吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 494|回复: 1
收起左侧

[求助] 请问 python 如何把 json 反序列化到一个复杂的 class 里面呀?

[复制链接]
philhuan 发表于 2024-3-30 10:28
请问 python 如何把 json 反序列化到一个复杂的 class 里面呀?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

devilpanama 发表于 2024-3-30 11:39
在Python中,可以使用内置的`json`模块将JSON数据反序列化到一个复杂的class中。一种常用的方法是先将JSON数据解析成字典,然后通过自定义的类来处理字典数据的赋值操作。以下是一个示例代码,演示了如何将JSON数据反序列化到一个复杂的class中:

[Python] 纯文本查看 复制代码
import json

# 自定义一个复杂的类
class Person:
    def __init__(self, name, age, address):
        self.name = name
        self.age = age
        self.address = address

    def __repr__(self):
     return f"Person(name={self.name}, age={self.age}, address={self.address})"

# JSON数据
json_data = '''
{
"name": "Alice",
"age": 30,
"address": {
    "city" :"Beijing",
    "street": "123 Main Street"
    }
}
'''

# 将JSON数据解析成字典
data_dict = json.loads(json_data)

# 创建一个Person对象并赋值
person = Person(data_dict['name'], data_dict['age'], data_dict['address'])

print(person) # 输出: Person(name=Alice, age=30, address={'city': 'Beijing', 'street': '123 Main Street'})


在上面的示例中,我们首先定义了一个`Person`类来表示一个人,然后将JSON数据解析成字典`data_dict`,最后通过赋值操作,创建了一个`Person`对象`person`并打印输出。这样就实现了将JSON数据反序列化到一个复杂的class中。

在实际应用中,可以根据需要对解析得到的字典数据进行更复杂的处理,或者使用第三方库(如`dataclasses`)来简化类的定义和属性赋值过程。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表