使用.NET Core優雅獲取並展示最新疫情數據

前言

新型冠狀病毒的出現,著實讓人緊張。我每天一大早都會去查看今天的最新數據,可是每次的數據都挺讓人揪心的。今天突然間很想看看過去的歷史的數據,結果查了很多資料都不是很全。反正國家讓我們待在家裡做貢獻,那我們也可以多做做研究,偶然的機會發現了一個API可以查到歷史數據,於是就用.NET Core 3.1實現了一下。

編碼與實現

通過查看返回的數據可以知道,其數據是標準的JSON的格式,這樣就減少了更多的工作。返回數據如下圖所示:

使用.NET Core優雅獲取並展示最新疫情數據

通過分析其數據結構,可以知道其主要有如下屬性:

lastUpdateTime: string,最新更新時間

chinaTotal: object,數據彙總

chinaAdd: object,新增數據彙總

chinaDayList: array,每日曆史數據

chinaDayAddList: array,每日新增歷史數據

areaTree: array,區域數據(含國內省市及國外數據)

項目詳情如下:

使用.NET Core優雅獲取並展示最新疫情數據

最後就是編碼實現,如果獲取數據,這個也比較簡單,使用HttpClient+Newtonsoft.Json即可很快實現,需要注意的是這個接口返回的數據需要二次反序列化。

使用.NET Core優雅獲取並展示最新疫情數據

運行效果如下:

使用.NET Core優雅獲取並展示最新疫情數據

對數據進行格式化展示後輸出:

使用.NET Core優雅獲取並展示最新疫情數據

最後將我們需要的數據保存起來,這個就更簡單了:

<code>     private static void SaveToFile(nCoVData data)/<code>
<code>     {/<code>
<code>  if (!File.Exists("data.json"))/<code>
<code>   4:   /<code>
<code>             using (FileStream fs = new FileStream("data.json", FileMode.Create, FileAccess.Write))/<code>
<code>          {/<code>
<code>                using (StreamWriter sw = new StreamWriter(fs))/<code>
<code>             {/<code>
<code>                   sw.Write(data.Data);/<code>
<code>                   sw.Flush();/<code>
<code>                   sw.Close();/<code>
<code>             }/<code>
<code>           }/<code>
<code>       }/<code>
<code>       else/<code>
<code>      {/<code>
<code>            using (FileStream fs = new FileStream("data.json", FileMode.Open, FileAccess.Write))/<code>
<code>           {/<code>
<code>               using (StreamWriter sw = new StreamWriter(fs))/<code>
<code>             {/<code>
<code>                  sw.Write(data.Data);/<code>
<code>                  sw.Flush();/<code>
<code>                  sw.Close();/<code>
<code>               }/<code>
<code>           }/<code>
<code>       }/<code>
<code>    }/<code>

完整代碼地址:https://github.com/edison0621/2019nCoVData

後續

既然數據有了,其他的也就好辦多了,比如各種圖形展示。最後武漢加油,中國加油,向白衣天使們致敬,我們一定能度過這道坎。

  • 以上為本篇文章的主要內容,希望大家多提意見,如果喜歡記得點個推薦哦 作者: 艾心 出處: https://www.cnblogs.com/edison0621/ 本文版權歸作者和博客園共有,歡迎轉載,轉載時保留原作者和文章地址即可。

  • 分享到:


    相關文章: