【发布时间】:2014-03-22 16:15:40
【问题描述】:
我对这个 json 有以下问题:
{
"EVTS": {
"EVT": [
{ "ID": "123456",
"KEY1" : "somekey",
"CATEG": [
"cat1",
"cat2",
"cat3"
]
}
]}
}
还有这个 c# 类:
public class myClass{
public string ID { get; set; }
public string KEY1 { get; set; }
public list<string> CATEG { get; set; }
}
public class ESObject1
{
[JsonProperty("EVT")]
public List<myClass> EVT { get; set; }
}
public class ESObject0
{
[JsonProperty("EVTS")]
public ESObject1 EVTS { get; set; }
}
}
这里我称之为反序列化器:
ESObject0 globalobject = JsonConvert.DeserializeObject<ESObject0>(json);
但是最后这段代码不起作用,我抛出了这个异常:System.ArgumentException: Could not cast or convert from System.String to System.Collections.Generic.List1[System.String]。`
我使用string [] 而不是list<string> 并且只有string 似乎没有任何效果。
请问我怎样才能正确反序列化这个对象。
谢谢。
【问题讨论】:
-
对我有用,假设在“somekey”之后缺少逗号只是一个错字,这个 json 应该可以反序列化。请发布真正产生相同错误的 Json 示例。
标签: c# asp.net .net json.net json-deserialization