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


前言

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

編碼與實現

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

image

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

lastUpdateTime: string,最新更新時間

chinaTotal: object,數據匯總

chinaAdd: object,新增數據匯總

chinaDayList: array,每日歷史數據

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

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

項目詳情如下:

image

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

image

運行效果如下:

image

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

image

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

   1:  private static void SaveToFile(nCoVData data)
   2:  {
   3:      if (!File.Exists("data.json"))
   4:      {
   5:          using (FileStream fs = new FileStream("data.json", FileMode.Create, FileAccess.Write))
   6:          {
   7:              using (StreamWriter sw = new StreamWriter(fs))
   8:              {
   9:                  sw.Write(data.Data);
  10:                  sw.Flush();
  11:                  sw.Close();
  12:              }
  13:          }
  14:      }
  15:      else
  16:      {
  17:          using (FileStream fs = new FileStream("data.json", FileMode.Open, FileAccess.Write))
  18:          {
  19:              using (StreamWriter sw = new StreamWriter(fs))
  20:              {
  21:                  sw.Write(data.Data);
  22:                  sw.Flush();
  23:                  sw.Close();
  24:              }
  25:          }
  26:      }
  27:  }

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

后續

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM