如何讀取 JSON 格式設定檔 ?
使用 Configuration Package
在實務上不少資訊我們不想寫死在 code 中,會以 config 形式由 client 設定,目前最主流的 config 就屬 JSON 格式,.NET 也提供了 ConfigurationBuilder ,讓我們輕易的讀取 JSON 格式的 config 檔。
Version
macOS High Sierra 10.13.6
.NET Core 2.1
C# 7.2
Rider 2018.1.3
安裝 Package

要另外安裝 3 個 package :
Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Extensions.Configuration.Json
ConfigurationBuilder
Config.json
1 | { |
假設 config.json 放在 project 的根目錄下,想要讀取 key 為 Name 的 value。
Program.cs
1 | using System; |
11 行
1 | var currentDirectory = Directory.GetCurrentDirectory(); |
使用 Directory.GetCurrentDirectory() 讀取目前 project 的根目錄。
14 行
1 | new ConfigurationBuilder() |
建立 ConfigurationBuilder,並由 SetBasePath() 設定其 working directory。
16 行
1 | .AddJsonFile("config.json") |
由 AddJsonFile() 設定 config 檔案。
17 行
1 | .Build(); |
最後由 Build() 建立 config 物件。
19 行
1 | Console.WriteLine(config["Name"]); |
由於 IConfiguration 有定義 indexer,因此我們可以 Name 當 key 直接存取。
Conclusion
- 使用
ConfigurationBuilder讓我們可以很簡單地讀取 JSON 格式的 config 檔
Sample Code
完整的範例可以在我的 GitHub 上找到