美好的一天,
我正在尝试反序列化api中的列表,但是问题是api有一个对象。
我的API结果如下:
{
result:[
{
"name": "Jessica"
},
{
"name": "May"
},
{
"name": "Joseph"
}]
}
这是我的反序列化代码,但由于result
而无法从api获取列表,因此失败了。
var httpClient = new HttpClient();
var task = await httpClient.GetStringAsync("http://something.com/api/whatever");
return JsonConvert.DeserializeObject<List<Whatever>>(task);
我的Whatever.cs
看起来像这样
public class Whatever {
public string Name {get;set;}
}
是否有某种方法像我删除结果那样就可以将其反序列化为列表,或者Newtonsoft.JSON提供了任何选项来修剪result
并使其成为列表而不是对象? / p>
提前谢谢
答案 0 :(得分:2)
您的课程应该是这样的。
public class Result
{
public string name { get; set; }
}
public class RootObject
{
public List<Result> result { get; set; }
}
您可以序列化此json:
{
result: [{
'name': 'Jessica'
},
{
'name': 'May'
},
{
'name': 'Joseph'
}]
}
赞:
var res = JsonConvert.DeserializeObject<RootObject>(jsonString);
要创建类,您可以使用json2csharp