API返回 json数据的解析和取值

有的API返回的数据比较少,适合用json来传,后台与前台的数据交换也经常用 json来传。我们简单看个json的文档:
这里写图片描述
现在我们试着提取这个json数据包里的“nickname”和“headimgurl”的内容。

代码如下:

      public UserInfo ReUserInfo(string OpenID)
        {
            UserInfo userinfo = new UserInfo();
            string url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token="+get_acctoken()+"&openid="+OpenID+"&lang=zh_CN";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);//请求数据
            //use GET method to get url's html
            req.Method = "GET";
            //use request to get response
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();//获取返回结果
            //otherwise will return messy code
            //  Encoding htmlEncoding = Encoding.GetEncoding(htmlCharset);
            StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);//以UTF8标准读取流
            //read out the returned html
            string respHtml = sr.ReadToEnd();//将从头到尾读到的数据存成字符串
            //以上是数据的读取,将json数据包转换成字符串的过程,下面解析字符串           
            JObject obj = (JObject)JsonConvert.DeserializeObject(respHtml);//引用using Newtonsoft.Json.Linq;将json字符串转换成一个json对象
            userinfo.nickname = obj["nickname"].ToString();//要访问json数据包的哪个值直接访问json对象就可以了
            userinfo.headimgurl = obj["headimgurl"].ToString();
            return userinfo;
        }

跟json打交道的时候,JsonConvert很重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值