【发布时间】:2015-07-17 03:39:10
【问题描述】:
我有如下 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 对象反序列化。 JsonObjectAttribute 也可以添加到类型中,以强制它从 JSON 对象反序列化。
路径“展开”,第 1 行,位置 10。
这是我的方法返回类型:> //搜索是枚举
我正在使用牛顿 json 库。 我该如何纠正这个问题?
【问题讨论】:
标签: c# .net arrays json serialization