Python 如何使用json_数据类解码以保留名称作为密钥的json?

Python 如何使用json_数据类解码以保留名称作为密钥的json?,python,json,python-3.x,Python,Json,Python 3.x,我试图使用模块中的dataclass\u json对从api收到的json进行解码,但是其中一个json字段被称为class,这是python保留的关键字。我如何定义它们 {'some_var': False, 'class': '/12345.jpg'} 我试过这个 @dataclass\u json @数据类 班级媒体: 一些变量:str 类:str###错误,因为类是保留关键字 parsedObject=Media.from_json(jsonString) 但由于“class”是

我试图使用模块中的
dataclass\u json
对从api收到的json进行解码,但是其中一个json字段被称为
class
,这是python保留的关键字。我如何定义它们

{'some_var': False,
 'class': '/12345.jpg'}
我试过这个

@dataclass\u json
@数据类
班级媒体:
一些变量:str
类:str###错误,因为类是保留关键字
parsedObject=Media.from_json(jsonString)

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

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

从数据类导入数据类,字段
从dataclasses_json导入配置,dataclass_json
@dataclass_json
@数据类
班级媒体:
一些变量:str
类:str=field(metadata=config(field\u name=“class”))

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

文件
不是Python保留的关键字-
关键字。iskeyword('file')
-所以对我来说,这个问题可能是由于
数据类\u json
模块中的错误造成的。好吧,也许是我的错误,但是像id.class等其他单词呢?你必须在文档中单独查找它们,或者使用
关键字
模块(通常更快)
id
可能不是,但是
class
可能是。在我看来,阅读优秀的文档(尤其是在这里发帖之前)总是一个很好的建议。我试着阅读文档,但是。我想我应该读更多的细节。希望这对其他人也有用:)thanks@Nic:您可以通过检查所有dataclass的字段名来自动检查保留名称,以查看它们是否在
关键字.kwlist中-您甚至可以在找到保留名称时自动更改它们。在我看来,
dataclass\ujson
decorator应该添加一个选项来完成后者…