问题
I have a NetCore console application and want to read the appsettings.json
and parse a section as List<Param>
(without Dependency Injection or AspNetCore).
I already tried How do I bind a multi level configuration object using IConfiguration in a .net Core application? but it seems like .Get<T>()
got removed from 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"}
]
}
Is there a easy way to load the config into the object or do I have to read the config file again and parse it myself with JsonConvert
?
回答1:
Get<T>
is defined in package Microsoft.Extensions.Configuration.Binder
来源:https://stackoverflow.com/questions/45039136/bind-a-iconfigurationsection-to-an-complex-object-without-aspnetcore