如何从核心控制台appSettings.json文件中获取字符串数组

时间:2018-06-06 18:40:56

标签: c# appsettings .net-core-2.0

如何从string[]对象返回IConfigurationRoot

文件存在并设置为复制到输出

代码

var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("settings.json", optional: false, reloadOnChange: false);
_configuration = builder.Build();

var arr = _configuration["stringArray"]; // this returns null
var arr1 = _configuration["stringArray:0"]; // this works and returns first element

Settings.json

{
  "stringArray": [
    "myString1",
    "myString2",
    "myString3"
  ]
}

1 个答案:

答案 0 :(得分:5)

使用GetValue<TResult>扩展名获取该部分的值。

// Requires NuGet package "Microsoft.Extensions.Configuration.Binder"
var array = _configuration.GetValue<string[]>("stringArray");

或尝试绑定到

部分
var values = new List<string>();
_configuration.Bind("stringArray", values);

参考Configuration in ASP.NET Core: Bind to an object graph