我有如下的jSON:
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "",
"id": "10001",
"self": "http://www.example.com/jira/rest/api/2/issue/10001",
"key": "HSP-1"
}
]
对于上述内容,我的课程如下:
[DataContract]
public class Issue
{
[DataMember(Order = 0)]
public string expand { get; set; }
[DataMember(Order = 1)]
public string id { get; set; }
[DataMember(Order = 2)]
public string self { get; set; }
[DataMember(Order = 3)]
public string key { get; set; }
}
[DataContract]
public class search
{
[DataMember(Order = 0)]
public string expand { get; set; }
[DataMember(Order = 1)]
public int startAt { get; set; }
[DataMember(Order = 2)]
public int maxResults { get; set; }
[DataMember(Order = 3)]
public int total { get; set; }
[DataMember(Order = 4)]
public IList<Issue> issues { get; set; }
}
尝试使用以下代码反序列化上面的json:
return JsonConvert.DeserializeObject<List<search>>(strsearchlist);
但是,我收到的错误如下:
无法将当前JSON对象(例如{“name”:“value”})反序列化为类型'System.Collections.Generic.List`1 [JiraReporter.search]' 因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。
要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或更改反序列化类型,使其成为正常的.NET类型 例如不是可以从JSON对象反序列化的整数类型的原始类型,而不是像数组或List这样的集合类型。 JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化。
路径'展开',第1行,第10位。
这是我的方法返回类型:&gt; //搜索是枚举
我正在使用newton json lib。 我怎么能纠正这个?
答案 0 :(得分:2)
RETURN cnt1;
}
,而不是search
所以,代码必须如下所示
List<search>