from dataclasses import dataclass,field
from dataclasses_json import dataclass_json, config, LetterCase
@dataclass_json(letter_case=LetterCase.CAMEL)
@dataclass
class Address:
street: str = field(default_factory=list,metadata=config(field_name="streetAddress"))
city: str=''
state: str=''
@dataclass_json(letter_case=LetterCase.CAMEL)
@dataclass
class Person:
name: str=''
age: int=''
addresses: List[Address] = field(default_factory=list,metadata=config(field_name="xxx"))
# 示例数据
example_person = Person(name="John Doe", age=30, addresses=[Address(street="123 Main St", city="Anytown", state="CA")])
data = {
"name": "John Doe",
"age": 30,
"xxx": [
{"streetAddress": "123 Main St", "city": "Anytown", "state": "CA"},
{"streetAddress": "456 Elm St", "city": "Othertown", "state": "NY"}
]
}
# 反序列化
deserialized_person = Person.from_json(json.dumps(data))
print(deserialized_person)
# 序列化
serialized_person = Person()
serialized_person = serialized_person.to_json(indent=4)
print(serialized_person)
用@dataclasses和@dataclasses_json做嵌套类型的序列化和反序列化,并定义属性的对外映射字段
最新推荐文章于 2026-04-18 09:14:23 发布
Python3.8
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
您可能感兴趣的与本文相关的镜像
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

4492

被折叠的 条评论
为什么被折叠?



