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应该添加一个选项来完成后者…