我有一个 JSON 字符串,其中包含固定数量的不同对象数组(在 Java 中使用JSONObjects
and创建JSONArrays
):
[
[ //The first type of object
{
"Initials":"MUS"
},
{
"Initials":"NA"
}
],
[ //The second type
{
"ToolId":17
},
{
...
}
]
... //etc.
]
所以我创建了一些虚拟类,它们具有与数组中的对象对应的属性,它们有效:
private class DummyEmployee
{
public string Initials { get; set; }
}
//etc.
但我无法弄清楚容器类应该如何设计。我是这样做的:
private class DataContainer
{
public List<DummyEmployee> Employees { get; set; }
public List<DummySecondType> SecondTypes { get; set; }
//etc.
}
这就是我尝试反序列化 JSON 数据的方式:
JavaScriptSerializer ser = new JavaScriptSerializer();
string jsonDataFromClient = ...;
DataContainer jsonData = ser.Deserialize<DataContainer>(jsonDataFromClient);
它不起作用。传递数据时出现以下错误:
Type 'GUI.ValidateLoginData+DataContainer' is not supported for deserialization of an array.
关于反序列化不同对象数组的问题,我找不到任何其他主题。