【发布时间】:2016-03-09 07:20:16
【问题描述】:
在网络服务调用中,我得到以下响应
{
"132800000000040": {
"likes": 38347,
"id": "132800000000040"
},
"192011111111130": {
"likes": 44855,
"id": "192011111111130"
},
"115372222222226": {
"likes": 42227,
"id": "115372222222226"
},
"186111111111116": {
"likes": 21987,
"id": "186111111111116"
},
"30000000002": {
"likes": 18539,
"id": "30000000002"
},
"24000000006": {
"likes": 16438,
"id": "24000000006"
}
}
我创建了一个类来保存数据
public class LikeCount
{
public string id { get; set; }
public string likes { get; set; }
}
并尝试解析json如下
var responseString = await response.Content.ReadAsStringAsync();
dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString);
List<LikeCount> LikeList = (List<LikeCount>)Newtonsoft.Json.JsonConvert.DeserializeObject(obj.ToString(), typeof(List<LikeCount>));
但得到错误
无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型 'System.Collections.Generic.List`1[Rxz.Model.LikeCount]' 因为该类型需要 JSON 数组(例如[1,2,3]) 正确反序列化。
我该如何解决这个问题请帮忙..
【问题讨论】:
-
这不是收藏。集合由
[]分隔。然而你正试图反序列化成一个集合
标签: c# json parsing windows-phone-8