我试图在Python中将一个JSON字符串反序列化为一个对象,同时指出每个对象的特定类类型。 下面是一个JSON示例:
{
"Vehicle":
[
{
"$type": "Car",
"Make": 1982,
"Settings":
{
"$type": "CarSettings",
"ESP": true
}
},
{
"$type": "Motorcycle",
"Make": 2010,
"Settings":
{
"$type": "MotorcycleSettings",
"ABS": true
}
}
]
}
请注意,我的类是这样构建的:
以及:
我用一个表示整个JSON的单一类型来计算它json.loads文件但我似乎无法使它适用于子类。你知道吗
谢谢!你知道吗
您定义的
object_hook
将从JSON字符串获取字典。举个例子:将其用作钩子,结合您的示例将产生:
因此,在
hook()
函数中,使用$type元素并根据该元素进行操作。你知道吗hook()
将首先在嵌套最多的字典上调用。因此,如果解析CarSettings并从hook()
返回该对象,那么Car的字典('$type': 'Car'
)将已经包含CarSettings
类型的对象。你知道吗如果您有许多类,那么可以制作一个字典,为typename排序一个类型,并使用它创建对象。你知道吗
相关问题 更多 >
编程相关推荐