1. 程式人生 > >使用.NET Core優雅獲取並展示最新疫情資料

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

前言

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

編碼與實現

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

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

lastUpdateTime: string,最新更新時間

chinaTotal: object,資料彙總

chinaAdd: object,新增資料彙總

chinaDayList: array,每日曆史資料

chinaDayAddList: array,每日新增歷史資料

areaTree: array,區域資料(含國內省市及國外資料)

專案詳情如下:

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

執行效果如下:

對資料進行格式化展示後輸出:

最後將我們需要的資料儲存起來,這個就更簡單了:

   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

後續

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

相關推薦

使用.NET Core優雅獲取展示最新疫情資料

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

運行Vue在ASP.NET Core應用程序部署在IIS上

生產環境 所在 來講 一個 重寫 文章 .net core 設置 分享 前言 從.NET Core 1.0開始我們就將其應用到項目中,但是呢我對ASP.NET Core一些原理也還未開始研究,僅限於會用,不過園子中已有大量文章存在,借著有點空余時間,我們來講講如何利用AS

.NET Core 中的發編程

情況下 try scan led 修改 鎖定 利用 pac 可能 今天我們購買的每臺電腦都有一個多核心的 CPU,允許它並行執行多個指令。操作系統通過將進程調度到不同的內核來發揮這個結構的優點。 然而,還可以通過異步 I/O 操作和並行處理來幫助我們提高單個應用程序的性能。

伺服器win2008server R2 x64 部署.net core到IIS 解決ASP .NET Core HTTP Error 502.5 – Process Failure 的問題等

伺服器win2008server R2 x64 部署.net core到IIS 並解決ASP .NET Core HTTP Error 502.5 – Process Failure 的問題 1、釋出網站 ;2、安裝 vc_redist.x64  (Visual C++

伺服器win2008server R2 x64 部署.net core到IIS 解決ASP .NET Core HTTP Error 502.5 – Process Failure 的問題

伺服器win2008server R2 x64 部署.net core到IIS 並解決ASP .NET Core HTTP Error 502.5 – Process Failure 的問題 1、釋出網站 ;2、安裝 vc_redist.x64  (Visual C++ Redistributable

在ASP.NET Core獲取客戶端IP地址

原文: 在ASP.NET Core中獲取客戶端IP地址 隨著ASP.NET的發展,有不同的方式從請求中訪問客戶端IP地址。WebForms和MVC Web應用程式只是訪問當前HTTP上下文的請求。   var ip = HttpContext.Current.Request.UserHo

獲取編譯最新的Notepad++原始碼

一、引言 我們在寫程式碼的時候,最喜歡使用一些程式碼編輯器來編寫一些輕型的程式碼檔案,這裡比較經典而且使用者很多的就是Notepad++了。Notepad++是一款非常簡潔輕巧功能非常強大的開源軟體,那麼只要有一點點開源精神的、並且想要見識下C++11程式碼風

ASP.NET Core獲取完整的URL(轉載)

splay abs class play aspnet uri etc pat query 在之前的ASP.NET中,可以通過 Request.Url.AbsoluteUri 獲取,但在ASP.NET Core沒有這個實現,請問如何獲取呢?方法一:先引用“usi

將 ASP.NET Core 2.1 升級到最新的長期支援版本ASP.NET Core 3.1

目錄 前言 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal 消失了 升級到 ASP.NET Core 3.1 專案檔案(.csproj) Program.cs Startup.cs ViewBag 與 Razor Pages 第一次接觸 ViewBag 與 R

.NET Core 反射獲取所有控制器及方法上特定標籤

## .NET Core 反射獲取所有控制器及方法上特定標籤 有個需求,就是在. NET Core中,我們想在專案 啟動時,獲取LinCmsAuthorizeAttribute這個特性標籤所有出現的地方,把他的引數,放入一個集合並快取起來,以便後面使用此資料用於許可權驗證。 我們通過反射獲取所有控制器下

【Azure App Service For Container】建立ASP.NET Core Blazor專案打包為Linux映象釋出到Azure應用服務

歡迎使用 Blazor!Blazor 是一個使用 .NET 生成互動式客戶端 Web UI 的框架: 使用 C# 代替 JavaScript 來建立資訊豐富的互動式 UI。 共享使用 .NET 編寫的伺服器端和客戶端應用邏輯。 將 UI 呈現為 H

asp.net core MVC 控制器,接收引數,資料繫結

引數 HttpRequest HttpRequest 是使用者請求物件 QueryString Form Cookie Session Header 例項: public IActionResult Index() { QueryString x

解決.net Core中WebApi自動Model驗證導致資料格式不能統一

  最近做專案用WebAPI Core時,想把返回資料的格式,統一弄成:{“errorMsg”:"xxx","Data":"xxxx"}這種。誰知道,WebAPI的model會自動驗證,於是乎格式成了: 我想能不能自己像在MVC裡面那樣自己控制model驗證:ModelState.IsValid。找了很

.NET Core微服務之基於MassTransit實現資料最終一致性(Part 2)

一、案例結構與說明   在上一篇中,我們瞭解了MassTransit這個開源元件的基本用法,這一篇我們結合一個小案例來了解在ASP.NET Core中如何藉助MassTransit+Quartz.Net來實現資料的最終一致性。當然,實現資料的最終一致性有很多方案,這裡只是舉一種我所學到的比較簡單易於學習

.NET Core微服務之基於MassTransit實現資料最終一致性(Part 1)

一、預備知識:資料一致性   關於資料一致性的文章,園子裡已經有很多了,如果你還不瞭解,那麼可以通過以下的幾篇文章去快速地瞭解瞭解,有個感性認識即可。   必須要了解的點:ACID、CAP、BASE、強一致性、弱一致性、最終一致性。      CAP理論由加州大學伯克利分校的計算機

.NET新建webservice專案返回XML格式資料

1.開啟VS2013,新建一個專案,如圖; 2.進入專案介面,新增新的專案,如圖; 出現如下介面就新建專案完成啦! 3.執行,如圖; 點選Hello World;

.Net Core下使用HtmlAgilityPack解析採集網際網路資料

HtmlAgilityPack應該算是.Net下最好用的html解析庫了。   因為最近幫朋友採集一些資料,在nuget裡面搜尋了好幾個庫,最後決定就用HtmlAgilityPack。並簡單的記錄下使用的姿勢。 直接使用nuget包安裝 Install-Package HtmlAgilityPac

.NET Core使用NPOI將Excel中的資料批量匯入到MySQL

前言:   在之前的幾篇部落格中寫過.NET Core使用NPOI匯出Word和Excel的文章,今天把同樣我們日常開發中比較常用的使用Excel匯入資料到MySQL資料庫中的文章給安排上。與此同時還把NPOI-ExportWordAndExcel-ImportExcelData這個開源專案升級到了.NET

.net core 使用RSA獲取私鑰證書簽名

vat sas ret asign head 什麽 要求 pwd stat RSA在.NET Core的改動 以前我們使用RSA加密主要是使用RSACryptoServiceProvider這個類,在.NET Core中也有這個類,但是這個類並不支持跨平臺,所以如果你是用

通過VS2017釋出.net core程式使用Web 部署到遠端伺服器最新教程

最近一個專案中,為App開發後臺介面,技術選型為最新 .net core版本,使用.net core開發web api介面過程中,為了方便app團隊成員直接線上呼叫介面,找了公網上的一臺伺服器做為app後臺介面的測試伺服器,並做了域名解析。伺服器配置為Windows Server 2008 R2企業版,剛購買