日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

天气预报API使用心得

發布時間:2024/4/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 天气预报API使用心得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進來做了幾個跟天氣預報有關的.NET桌面應用程序。苦于中國天氣網的SmartWeatherAPI需要申請。所以使用到了OpenWeatherMap 和 Forecast.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

第一次寫技術博客,雖然水平不高。也在彳亍。

?

轉載于:https://www.cnblogs.com/victorjyan/p/4050806.html

總結

以上是生活随笔為你收集整理的天气预报API使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。