【发布时间】:2018-07-18 11:13:51
【问题描述】:
给定如下json配置文件some_settings.json
{
"AnEmptyArray": [],
"APopulatedArray": [1, 2, 3]
}
作为源添加到 asp.net 核心配置系统并请求所有密钥时
var configuration = new ConfigurationBuilder()
.AddJsonFile("some_settings.json")
.Build();
var keys = configuration
.AsEnumerable()
.Select(c => c.Key);
结果是
APopulatedArray
APopulatedArray:2
APopulatedArray:1
APopulatedArray:0
由于某种原因,AnEmptyArray 没有密钥
如果我从 json 中完全删除 AnEmptyArray 键,结果是一样的
{
"APopulatedArray": [1, 2, 3]
}
这意味着无法检测空数组和根本没有提供的数组之间的差异。
这对吗?
【问题讨论】:
-
为什么当你通过 1,2,3 时得到 2,1,0 ?问题中的所有数据都正确吗?
-
它们是数组索引,与值无关。这就是配置系统命名数组键的方式。
标签: asp.net asp.net-core configuration