NetCoreコンソールアプリケーションがあり、appsettings.json
を読み取って、List<Param>
としてセクションを解析したい(依存性注入またはAspNetCoreなし)。
すでに試しました 。net CoreアプリケーションでIConfigurationを使用してマルチレベル構成オブジェクトをバインドするにはどうすればよいですか しかし、.Get<T>()
がnetcoreapp1.1
から削除されたようです
IConfigurationSection myListConfigSection = configurationRoot.GetSection("ListA");
List<Param> paramList;
//Get does not exist
//paramList = myListConfigSection.Get<Param>();
string paramListJson = myListConfigSection.Value // is null
// won't work neither because paramListJson is null
paramList = JsonConvert.DeserializeObject<Param>(paramListJson);
appsettings.json:
{
"ListA": [
{ "ID": "123", "Param": "ABC"},
{ "ID": "123", "Param": "JKS"},
{ "ID": "456", "Param": "DEF"}
]
}
構成をオブジェクトにロードする簡単な方法はありますか、それとも構成ファイルを再度読み取ってJsonConvert
で自分で解析する必要がありますか?
Get<T>
はパッケージMicrosoft.Extensions.Configuration.Binder
で定義されています