値がオブジェクトの配列の場合にはこちらの記事を参照してください。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"Config": [
"Penguin Cookie",
"Camel Caramel",
"WhiteBear Icecream"
],
"AllowedHosts": "*"
}
using Microsoft.Extensions.Configuration;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
IConfigurationSection section = configuration.GetSection("Config");
string[] confArray = section.Get<string[]>();
string outputText = "<html><body>";
foreach (string s in confArray) {
outputText += s + "<br/>";
}
outputText += "</body></html>";
app.MapGet("/", (HttpContext context) => {
context.Response.ContentType = "text/html";
return outputText;
});
app.Run();
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
IConfigurationSection section = configuration.GetSection("Config");
Get<T>
メソッドを利用します。今回は配列のデータが文字列のため、string[]
を記述しています。string[] confArray = section.Get<string[]>();
T
にList<string>
を与えるコードでも同様に動作します。List<string> confArray = section.Get<List<string>>();
string outputText = "<html><body>";
foreach (string s in confArray) {
outputText += s + "<br/>";
}
outputText += "</body></html>";
app.MapGet("/", (HttpContext context) => {
context.Response.ContentType = "text/html";
return outputText;
});
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AppData": {
"Products": [
"ふわふわ ソファー",
"かるがる チェアー",
"ひろびろ テーブル",
"かための ベッド",
"おしゃれ スタンド"
]
},
"AllowedHosts": "*"
}
using Microsoft.Extensions.Configuration;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
IConfigurationSection section = configuration.GetSection("AppData:Products");
string[] pData = section.Get<string[]>();
string outputText = "<html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" /></head><body>";
foreach (string s in pData) {
outputText += s + "<br/>";
}
outputText += "</body></html>";
app.MapGet("/", (HttpContext context) => {
context.Response.ContentType = "text/html";
return outputText;
});
app.Run();
(セクション名):(値のキー名)
の形式で指定します。IConfigurationSection section = configuration.GetSection("AppData:Products");
Get<T>
メソッドを呼び出して値を取得します。string[] pData = section.Get<string[]>();