天气预报API使用心得

进来做了几个跟天气预报有关的.NET桌面应用程序。苦于中国天气网的SmartWeatherAPI需要申请。所以使用到了OpenWeatherMapForecast.io 的天气数据API。做个记录方便查阅。

两个网站所提供的数据都比较齐全。OpenWeatherMap提供JSON与XML版本的数据,而Forecast.io仅仅提供JSON。不过对于C#.net来说有JSON就足够了。.NET提供了JSON的解析器Json.NET。在 NuGget中可以联机得到。

通过以下代码可以将网站提供的JSON数据实例化一个读取流。

1 WebRequest myrequest = WebRequest.Create("http://api.openweathermap.org/data/2.5/forecast/daily?id=" + cityID + "&cnt=7&mode=json");
2 myrequest.UseDefaultCredentials = false;
3 WebResponse myresponse = myrequest.GetResponse();
4 Stream resStream = myresponse.GetResponseStream();
5 StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
8 string jsontext = sr.ReadToEnd();
9 JsonReader reader = new JsonTextReader(new StringReader(jsontext));

从而对其中的数据进行读取

 1  while (reader.Read())
 2  {
    if (reader.Value + "" == "min")                     //最低气温
 5     {
 6       reader.Read();
 7       if (reader.ValueType.ToString() == "System.Double")
 8        {
 9          double temd = (double)reader.Value;
10           tMin[i1] = temd;
12        }
      else
15        {
16          long teml = (long)reader.Value;
17           tMin[i1] = teml;
18        }
19        tMin[i1] = (int)(tMin[i1] - 273.15);
20        i1++;
21     }
22     if (reader.Value + "" == "max")                     //最高气温
23     {
24       reader.Read();
25       if (reader.ValueType.ToString() == "System.Double")
26     {
27       double temd = (double)reader.Value;
28       tMax[i2] = temd;
    }
    else
33     {
34       long teml = (long)reader.Value;
35       tMax[i2] = teml;
36     }
37     tMax[i2] = (int)(tMax[i2] - 273.15);
38     i2++;
39 }

关于接口中返回的数据,都是简单的英语。给出链接。

OpenWeatherMap   Forecast.io

第一次写技术博客,虽然水平不高。也在彳亍。

时间: 2024-10-13 00:50:05

天气预报API使用心得的相关文章

天气预报API,返回JSON

> 1. XML接口 http://flash.weather.com.cn/wmaps/xml/china.xml 这个是全国天气的根节点,列出所有的省,其中的pyName字段是各个省XML的文件名,比如北京的是beijing,那就意味着北京的XML地址为 http://flash.weather.com.cn/wmaps/xml/beijing.xml 一个省的天气,其中列出该省各个市的数据,北京就列出各个区. tmp1是最低温低,tmp2是最高温度,url非常重要,我们一会儿再说.stat

微信支付JS API使用心得

微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便了. 坑1:公众号里面可以设置测试目录,例如是 www.baidu.com/pay/,这样设置的,那么的你支付的页面的url一定要在这个目录下面,而且不能有二级目录,例如支付的url是www.baidu.com/pay/1的话是可以的,但是www.baidu.com/pay/1/1这样是不可以的,会

天气预报API开发

天气预报API开发 一.        寻觅篇 最近想要跟着视频练习一下利用API开发一个天气预报系统,就在网上找了一下可以用的API,结果好多都已经失效了... 1.       百度车联网天气预报API(失败) 首先是找了视频了的百度开发者平台 – LBS – 车联网 – 天气预报API,结果发现已经在2015年12月停止服务了 2.       中国天气网API(失败) 没办法,既然百度不鸟我了,只能继续找找看有没有别的了.难道就百度一家做生意么? 百度了一下“天气预报API”(^-^),

天气预报API简单实现

本人小白,觉得好玩,就注册了一个博客.一时也不知道写些什么,就把昨天做的一个简单的网页天气预报写一下吧,希望对各位看官有所帮助. 运行环境:php+mysql+WIN/Linux,框架什么的都无所谓了吧. 个人理解: 很简单的,通过API获取到天气的Json数据,然后后台传给前端展示,css渲染. 首先,获取API的数据: 我这里找的是一个免费的天气预报API,方便实用,用的人也多: http://apistore.baidu.com/apiworks/servicedetail/112.htm

天气预报API(三):免费接口测试(“旧编码”)

说明 我以参考文章为引子,自己测试并扩展,努力寻找更多的气象API... 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "旧编码":全国城市代码列表(旧) 或 全球城市.景点代码 注:另有 "新编码" 的介绍和使用,详见: 全国城市代码列表(新) 1. 国家气象局 当天基础天气接口 http://www.weather.com.cn/data/sk/101120201.html { "weatherinfo": {

天气预报api整理

目录 1.国家气象局提供的天气预报接口 1.1.接口网址 1.2.示范代码 2.各个城市对应的代码 作为一个开发的diaosi,在开发过程中,时常会遇到添加天气的功能,现在百忙之中抽出一点时间整理了一下开发天气功能的api: URL=http://xml.weather.com/weather/local/CHXX0037?cc=*&unit=m&dayf=6 其中,CHXX0037 就是广州的国际城市代码,在国外适用,还可以用101280101国内的代码来代替. 国家气象局提供的天气预报

分享一个可以获取7天24小时的天气预报API,包含PM2.5等数据

api地址: pm2.5 api http://api.lib360.net/open/pm2.5.json?city=洛阳 7天24小时天气api http://api.lib360.net/open/weather.json?city=苏州 GET 请求 参数 prov   可选省份 如:江苏  河北 city   城市名称 如:苏州 上海 返回数据格式 json data 字段 返回7天的天气状况,包含今天 data24 返回 今天24小时内的预报 pm25 返回当前城市的 pm25 值

短信接口调用——阿里大于API开发心得

互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短信费用是计数缴纳的,作为个人开发者,我使用的服务产生的费用为0.45¥/条(10万条以下). 现在要实现一个例会短信群发通知的功能,所有被通知对象信息均存于Mysql中,应用架构采用asp.net MVC .首先准备好获取的API各项(以下各项服务参数都需要在大于官网上申请), 申请好自己的短信签名

中国天气网 天气预报API 国家气象局 根据城市名称抓取城市

获取城市的城市代码了 function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_REFERER, 'http://www.weather.com.cn/forecast/index.shtml');//必须滴 curl_setopt($ch, CURLOPT_CO