下面是Json字符串
{
"Resources": {
"Resource": [
{
"ResourceId": "D513E96F-EA6C-E511-8133-000D3A0044F4",
"MSPSLogin": "richa.dinesh.parkar",
"Email": "richa.dinesh.parkar@accenture.com"
},
{
"ResourceId": "D513E96F-EA6C-E511-8133-000D3A0044F4",
"MSPSLogin": "harshal.arun.vadnere",
"Email ": "harshal.arun.vadnere@accenture.com"
}
]
},
"CreatedOn":"2016-07-18T12:51:14.23Z",
"CreatedByApp":"AD"
}
我的模特课程:
public class Resource
{
public string ResourceId { get; set; }
public string MSPSLogin { get; set; }
public string Email { get; set; }
}
public class Resources
{
public IList<Resource> Resource { get; set; }
}
public class Example
{
public Resources Resources { get; set; }
public DateTime CreatedOn { get; set; }
public string CreatedByApp { get; set; }
}
我使用Json.Net,我想将下面的字符串转换为Json Object。
Example example = JsonConvert.DeserializeObject<Example>(jsonstr);
但是错误:
类型&#39; Newtonsoft.Json.JsonSerializationException的未处理异常&#39;发生在Newtonsoft.Json.dll
附加信息:无法将当前JSON对象(例如{&#34; name&#34;:&#34; value&#34;})反序列化为类型System.Collections.Generic.List`1 [ myWizard_MSPS_integration.Example]&#39;因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。
答案 0 :(得分:3)
尝试将IList<Resource>
更改为IEnumerable<Resource>
或Resource[]
,我认为Json.Net无法初始化IList
。不支持的功能。
答案 1 :(得分:3)
只需将Resources
属性的类型更改为IEnumerable<Resource>
答案 2 :(得分:0)
尝试使用此类模型:
public class Resource
{
public string ResourceId { get; set; }
public string MSPSLogin { get; set; }
public string Email { get; set; }
}
public class Resources
{
public List<Resource> Resource { get; set; }
}
public class Example
{
public Resources Resources { get; set; }
public string CreatedOn { get; set; }
public string CreatedByApp { get; set; }
}
替换
public IList<Resource> Resource { get; set; }
使用
public List<Resource> Resource { get; set; }