首页新闻找找看学习计划

下面这种json 如何做解析比较好。

0
[待解决问题]
{
  "total":23000,
  "count":10000,
  "data":{"
     openid":[
        "OPENID1",
        "OPENID2",
        ...,
        "OPENID10000"
     ]
   },
   "next_openid":"NEXT_OPENID1"
}
主要想得到 openid 这里面的数据。如果使用Newtonsoft.Json 怎么来取值?
yzy的主页 yzy | 菜鸟二级 | 园豆:309
提问于:2014-07-07 20:53
< >
分享
所有回答(3)
0
ThreeTree | 园豆:1490 (小虾三级) | 2014-07-07 21:47
0

var json = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(s);
foreach (var item in json.data.openid)
{
Console.WriteLine(item);
}

拖鞋王子 | 园豆:40 (初学一级) | 2014-07-07 21:48
0

定义一个实体类.

class  a{ int total;int count; b data;string next_openid;}

class b{string[] openid;}

吴瑞祥 | 园豆:28571 (高人七级) | 2014-07-08 09:48

这种方式,我使用过,就是比较麻烦。每次如果返回的json不一样。可能每次都得创建不同的对象来进行反序列化了。所以这种方法多我现有的情况来说不是很方便。

支持(0) 反对(0) yzy | 园豆:309 (菜鸟二级) | 2014-07-08 09:51

@yzy: 接口传出的json肯定也是序列化出来的,所以只要你的定义类型和接口的一致,就不会有不同的情况,

如果你想写个通用类,可以反序列化成动态对象,但十分不推荐.动态对象很容易出问题

支持(0) 反对(0) 吴瑞祥 | 园豆:28571 (高人七级) | 2014-07-08 10:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册