c# json数据解析的问题请教

南国无风 2014-09-10 10:32:29
各路大神,我在编程过程中遇到一个小问题如下:

json格式的数据:
{
'record': [{'1410234000': 0}, {'1410234060': 0}, {'1410234120': 0}, {'1410234180': 0}, {'1410234240': 0}],
'connect': [{'1410234000': 0}, {'1410234060': 0}, {'1410234120': 0}, {'1410234180': 0}]
}
其中,record和connect部分的键值对都是动态变化的,即”141023400“:0这些数据中的第一个字符串是随时间动态变化的,我本来设想用如下的方法:


JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> json = serializer.DeserializeObject(content) as Dictionary<string, object>;//content为json数据,这一步能给够正常解析
Dictionary<string, object> records = json["record"] as Dictionary<string, object>;//这一步就无法解析出json数据中的record项目了
foreach (KeyValuePair<string, object> item in records)
{
Console.WriteLine(item.Key+"--"+item.Value);

}


不知道各路大神有没有什么比较好的解决方法,帮我解决这个小问题,感谢大家
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forty2 2014-09-10
  • 打赏
  • 举报
回复
records要先转换成object[]。

JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> json = serializer.DeserializeObject(content) as Dictionary<string, object>;//content为json数据,这一步能给够正常解析
var records = (json["record"] as object[]).OfType<Dictionary<string, object>>();
foreach (KeyValuePair<string, object> item in records.SelectMany(x => x))
{
    Console.WriteLine(item.Key + "--" + item.Value);
}
南国无风 2014-09-10
  • 打赏
  • 举报
回复
没有人么?在线等呀,大家帮个忙哩
南国无风 2014-09-10
  • 打赏
  • 举报
回复
引用 2 楼 Forty2 的回复:
records要先转换成object[]。

JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> json = serializer.DeserializeObject(content) as Dictionary<string, object>;//content为json数据,这一步能给够正常解析
var records = (json["record"] as object[]).OfType<Dictionary<string, object>>();
foreach (KeyValuePair<string, object> item in records.SelectMany(x => x))
{
    Console.WriteLine(item.Key + "--" + item.Value);
}
非常感谢,完美的解决了问题,谢谢

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧