我有以下json:
[
{
"value1": 2,
"value2": [
12
],
"value3": 10,
"value4": [
1,2
],
"value5": null,
"value6": 0,
"value7": 1,
"value8": 2,
"value9": 3,
"value10": [
"4"
],
"value11": false,
"value12": false,
"value13": 0,
"value14": "text\n",
"value15": 2,
"value16": 0,
"value17": 3,
"value18": 2,
"value19": 2,
"value20": 0,
"value21": 5,
"value22": "10.1",
"value23": "O",
"value24": 3,
"value25": 5,
"value26": 0,
"value27": null,
"value28": false,
"value29": "Net",
"value32": 14,
"value33": [
"F",
"M"
],
"value34": 0
},
{
"value1": 2,
"value2": [
42
],
"value3": 1,
"value4": [
],
"value5": null,
"value6": 0,
"value7": 1,
"value8": 146,
"value9": 350,
"value10": [
"other"
],
"value11": false,
"value12": false,
"value13": 0,
"value14": "F\n",
"value15": 1,
"value16": 0,
"value17": 3,
"value18": 1,
"value19": 1,
"value20": 0,
"value21": 5361,
"value22": "10.1",
"value23": "O",
"value24": 2,
"value25": 0,
"value26": 0,
"value27": null,
"value28": false,
"value29": null,
"value30": null,
"value31": "Net",
"value32": 146,
"value33": [
"F"
],
"value34": 0
}
]
并通过Visual Studio过去特别为我构建以下类:
public class Rootobject
{
public Class1[] Property1 { get; set; }
}
public class Class1
{
public int value1 { get; set; }
public int[] value2 { get; set; }
public int value3 { get; set; }
public object[] value4 { get; set; }
public object value5 { get; set; }
public int value6 { get; set; }
public int value7 { get; set; }
public int value8 { get; set; }
public int value9 { get; set; }
public string[] value10 { get; set; }
public bool value11 { get; set; }
public bool value12 { get; set; }
public int value13 { get; set; }
public string value14 { get; set; }
public int value15 { get; set; }
public int value16 { get; set; }
public int value17 { get; set; }
public int value18 { get; set; }
public int value19 { get; set; }
public int value20 { get; set; }
public int value21 { get; set; }
public string value22 { get; set; }
public string value23 { get; set; }
public int value24 { get; set; }
public int value25 { get; set; }
public int value26 { get; set; }
public object value27 { get; set; }
public bool value28 { get; set; }
public string value29 { get; set; }
public int value32 { get; set; }
public string[] value33 { get; set; }
public int value34 { get; set; }
public object value30 { get; set; }
public string value31 { get; set; }
}
现在,我尝试使用以下代码反序列化json文本:
JavaScriptSerializer serializer = new JavaScriptSerializer();
Rootobject o= serializer.Deserialize<Rootobject>(objectString)
我得到以下例外:
输入&#39; MyProj.Rootobject&#39;不支持反序列化数组。
我的问题是什么?
答案 0 :(得分:2)
尝试使用以下根对象类
public class RootObject
{
public int value1 { get; set; }
public List<int> value2 { get; set; }
public int value3 { get; set; }
public List<object> value4 { get; set; }
public object value5 { get; set; }
public int value6 { get; set; }
public int value7 { get; set; }
public int value8 { get; set; }
public int value9 { get; set; }
public List<string> value10 { get; set; }
public bool value11 { get; set; }
public bool value12 { get; set; }
public int value13 { get; set; }
public string value14 { get; set; }
public int value15 { get; set; }
public int value16 { get; set; }
public int value17 { get; set; }
public int value18 { get; set; }
public int value19 { get; set; }
public int value20 { get; set; }
public int value21 { get; set; }
public string value22 { get; set; }
public string value23 { get; set; }
public int value24 { get; set; }
public int value25 { get; set; }
public int value26 { get; set; }
public object value27 { get; set; }
public bool value28 { get; set; }
public string value29 { get; set; }
public int value32 { get; set; }
public List<string> value33 { get; set; }
public int value34 { get; set; }
public object value30 { get; set; }
public string value31 { get; set; }
}
答案 1 :(得分:1)
试试这个
JavaScriptSerializer serializer = new JavaScriptSerializer();
var o= serializer.Deserialize<List<Rootobject>>(objectString)
答案 2 :(得分:1)
使用Newtonsoft.Json NuGet Package可以在不使用Rootobject
的情况下反序列化json:
List<Class1> results = JsonConvert.DeserializeObject<IList<Class1>(objectString).ToList();
答案 3 :(得分:1)
首先创建类的对象然后尝试这个
Rootobject rootobject = new Rootobject();
string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(rootobject );