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)
12-15
1107
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-09
2701
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-08