{ "total":23000, "count":10000, "data":{" openid":[ "OPENID1", "OPENID2", ..., "OPENID10000" ] }, "next_openid":"NEXT_OPENID1" }
主要想得到 openid 这里面的数据。如果使用Newtonsoft.Json 怎么来取值?
var json = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(s);
foreach (var item in json.data.openid)
{
Console.WriteLine(item);
}
定义一个实体类.
class a{ int total;int count; b data;string next_openid;}
class b{string[] openid;}
这种方式,我使用过,就是比较麻烦。每次如果返回的json不一样。可能每次都得创建不同的对象来进行反序列化了。所以这种方法多我现有的情况来说不是很方便。
@yzy: 接口传出的json肯定也是序列化出来的,所以只要你的定义类型和接口的一致,就不会有不同的情况,
如果你想写个通用类,可以反序列化成动态对象,但十分不推荐.动态对象很容易出问题