如何讀取 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.Configuration
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.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 上找到