【发布时间】:2012-06-04 15:19:07
【问题描述】:
我有一个 JSON 字符串,其中包含固定数量的不同对象数组(在 Java 中使用 JSONObjects 和 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.
我找不到关于反序列化不同对象数组的任何其他主题。
【问题讨论】:
-
stackoverflow.com/questions/2962551/… 你是如何反序列化它的,用 JSON.net, JavaScriptSerializer...你能把反序列化的代码贴出来......
标签: c# java asp.net json arrays