如何使用json_dataclass解码以保留名称为密钥的json



我正试图使用dataclasses_json模块的dataclass_json解码从api接收的json,但其中一个json字段被称为class,这是python保留的关键字。我如何定义它们?

{'some_var': False,
'class': '/12345.jpg'}

我试过这个

@dataclass_json
@dataclass
class Media:
some_var: str
class: str ### error because class is a reserved keyword
parsedObject = Media.from_json(jsonString)

但由于"class"是保留关键字,因此出现错误。

将原始字段名指定为field_name,并以不同的方式命名类属性:

from dataclasses import dataclass, field
from dataclasses_json import config, dataclass_json
@dataclass_json
@dataclass
class Media:
some_var: str
the_class: str = field(metadata=config(field_name="class"))

查看文档,向下滚动至"使用不同名称进行编码或解码"。

最新更新