C#解析和风天气返回的JSON数据

一、前言

最近在用c#做一个项目,需要获取实时天气信息,调研了好多能够提供该服务的服务器,最终决定使用和风天气。官网如下:https://www.heweather.com/。通过发送相应的请求,我们得到服务器返回的数据。如下所示:

{"HeWeather6":[{"basic":{"cid":"CN101120206","location":"黄岛","parent_city":"青岛","admin_area":"山东","cnty":"中国","lat":"35.87513733","lon":"119.99552155","tz":"+8.00"},"update":{"loc":"2018-10-18 08:45","utc":"2018-10-18 00:45"},"status":"ok","now":{"cloud":"0","cond_code":"100","cond_txt":"晴","fl":"11","hum":"47","pcpn":"0.0","pres":"1024","tmp":"13","vis":"30","wind_deg":"311","wind_dir":"西北风","wind_sc":"2","wind_spd":"9"}}]}

我想得到"cond_txt"键所对应的天气情况的内容,应该如何解析呢?

二、Newtonsoft.Json.dll控件的使用

我们借助强大的Newtonsoft.Json.dll控件来帮助我们解析json格式的数据。该控件完全开源,官方网址:https://www.newtonsoft.com/json,大家可以从该网址下载该控件,并且有相关的使用说明。也可以去我的资源页找我分享的,https://download.csdn.net/download/wwwlyj123321/10728473。下载完成之后在C#的工程中添加引用,

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;

这样基本的框架就搭建完成了。

三、转换json格式为C#类

我们需要对应的变量来存储Newtonsoft解析出来的数据。我们可以直接使用该网站来自动生成http://json2csharp.chahuo.com/

将服务器返回的内容复制粘贴到待转换的区域:

点击转换:

将转换完成的类复制到我们的C#工程即可。

四、获取天气内容

我们的天气内容存储在cond_txt键所对用的内容中,解析之后就很容易提取出来,相关代码如下:

           RootObject deserializedProduct = JsonConvert.DeserializeObject<RootObject>(result1);
           HeWeather6  heweather6  =  deserializedProduct.HeWeather6[0];
           Now now = heweather6.now;
           String weatherinfo = now.cond_txt;

其中result1就是我们从服务器获得的json格式的数据,weatherinfo就是我们想要获得的天气情况。

 

 

 

ref:

https://blog.csdn.net/weixin_39874268/article/details/77302255 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值