使用.NET Core优雅获取并展示最新疫情数据
前言
新型冠狀病毒的出現(xiàn),著實(shí)讓人緊張。我每天一大早都會(huì)去查看今天的最新數(shù)據(jù),可是每次的數(shù)據(jù)都挺讓人揪心的。今天突然間很想看看過去的歷史的數(shù)據(jù),結(jié)果查了很多資料都不是很全。反正國家讓我們待在家里做貢獻(xiàn),那我們也可以多做做研究,偶然的機(jī)會(huì)發(fā)現(xiàn)了一個(gè)API可以查到歷史數(shù)據(jù),于是就用.NET Core 3.1實(shí)現(xiàn)了一下。
編碼與實(shí)現(xiàn)
通過查看返回的數(shù)據(jù)可以知道,其數(shù)據(jù)是標(biāo)準(zhǔn)的JSON的格式,這樣就減少了更多的工作。返回?cái)?shù)據(jù)如下圖所示:
通過分析其數(shù)據(jù)結(jié)構(gòu),可以知道其主要有如下屬性:
lastUpdateTime: string,最新更新時(shí)間
chinaTotal: object,數(shù)據(jù)匯總
chinaAdd: object,新增數(shù)據(jù)匯總
chinaDayList: array,每日歷史數(shù)據(jù)
chinaDayAddList: array,每日新增歷史數(shù)據(jù)
areaTree: array,區(qū)域數(shù)據(jù)(含國內(nèi)省市及國外數(shù)據(jù))
項(xiàng)目詳情如下:
最后就是編碼實(shí)現(xiàn),如果獲取數(shù)據(jù),這個(gè)也比較簡(jiǎn)單,使用HttpClient+Newtonsoft.Json即可很快實(shí)現(xiàn),需要注意的是這個(gè)接口返回的數(shù)據(jù)需要二次反序列化。
運(yùn)行效果如下:
對(duì)數(shù)據(jù)進(jìn)行格式化展示后輸出:
最后將我們需要的數(shù)據(jù)保存起來,這個(gè)就更簡(jiǎn)單了:
private static void SaveToFile(nCoVData data) {if (!File.Exists("data.json")){using (FileStream fs = new FileStream("data.json", FileMode.Create, FileAccess.Write)){using (StreamWriter sw = new StreamWriter(fs)){sw.Write(data.Data);sw.Flush();sw.Close();}}}else{using (FileStream fs = new FileStream("data.json", FileMode.Open, FileAccess.Write)){using (StreamWriter sw = new StreamWriter(fs)){sw.Write(data.Data);sw.Flush();sw.Close();}}} }完整代碼地址:https://github.com/edison0621/2019nCoVData
后續(xù)
既然數(shù)據(jù)有了,其他的也就好辦多了,比如各種圖形展示。最后武漢加油,中國加油,向白衣天使們致敬,我們一定能度過這道坎。
總結(jié)
以上是生活随笔為你收集整理的使用.NET Core优雅获取并展示最新疫情数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云原生 - Istio可观察性之监控(四
- 下一篇: 《ASP.NET Core 微服务实战》