如何使用 json_dataclass 解码以保留名称作为键的 json?

Nic*_*vit 3 python json python-3.x

我正在尝试使用dataclasses_jsondataclass_json模块解码从api 收到的 json ,但是调用了一个 json 字段,它是 python 保留关键字。我该如何定义它们?class

{'some_var': False,
 'class': '/12345.jpg'}
Run Code Online (Sandbox Code Playgroud)

我试过这个

{'some_var': False,
 'class': '/12345.jpg'}
Run Code Online (Sandbox Code Playgroud)
@dataclass_json
@dataclass
class Media:
  some_var: str
  class: str ### error because class is a reserved keyword
Run Code Online (Sandbox Code Playgroud)

但由于“class”是保留关键字而出现错误。

Che*_*yDT 5

将原始字段名称指定为 afield_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"))
Run Code Online (Sandbox Code Playgroud)

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