解析.NET Framework 或 .NET Core 組態檔裡陣列集合資料

解析.NET Framework 或 .NET Core 組態檔裡陣列集合資料程式設計師開發程式時,不希望把所要特殊資料和設定都寫死在程式碼裡,反而是針對不同環境需要客製化資料和設定。本篇文章主要介紹如何在.NET Framework 和 .NET Core各別的Console Application裡, 把相同類型資料(數據結構是陣列)分別寫在App.Config (.NET Framework)和 AppSetting.json 裡和如何擷取這些資料值從Config檔。

.Net Core

appsettings.json

以上範例主要是把數個EmailList和相關的顯示名稱(相同結構)寫在appsetting.json裡的ToEmails陣列裡。要在主程式讀取appsetting.json裡的陣列,記得先下載下列套件

創建與appsetting.json裡的ToEmails相同資料結構的物件EmailSetting。

主程式(Program.cs)

先設定讀取JSON的路徑和檔案和名稱。

接者先需要決定要解析JSON檔的哪個片段資料。本文設定主要解析JSON裡物件EmailList的ToEmails陣列。執行程式碼結果如下

讀取列印該陣列EmailSetting值,結果如下

.NET Framework

App.config

在App.config內設定好email陣列後,我們需要解析App.config 的XML資料結構,emailSetting 包含兩個屬性分別是address和displayName。因此需要分別擷取這兩個屬性的值。如何解析XML結構可參考下圖。

上圖會爬XML檔的樹狀結構,當XML的節點屬性名稱與emailSetting屬性名稱相同時,則加入myConfigObject(EmailSetting)集合

EmailSetting物件

Program.cs

解析App.config和列印出Email陣列資訊

最好將一些重要的設定寫在config组態檔裡,可方便程式設計師針對不同環境客製化資料和設定。了解如何解析複雜的資料結構在app.config或appsettings.json裡(.Net Framework或.Net Core),相信能對.NET開發者多一個選擇當要處理在地化重要資料和設定