appsettings.json 中的重复元素

repeating elements in appsettings.json

我正在尝试从旧的 web/appconfig.xml 转换为 appsettings.json。 xml 允许这样的事情

<Items>
   <Items name="x" qty = "1">
   <Items name="y" qty = "2">
</Items>

在appsettings.json,我想做类似的事情。

"Items": {
   "Item": { "name": "x", "qty": "1"}
   "Item": { "name": "x", "qty": "1"}
}

问题是警告消息 "A member with the name "Item" 已经存在。这个警告​​是个问题吗?我应该有更好的方法吗?

在您的示例 JSON 中,您试图将 属性 Item 赋值两次。 Items 是一个对象,Item 是所述对象的 属性 - 不可能有相同的 属性 两次 给定的对象。

更 JSON 友好的方法可能是这样的:

"Items": [
    { "name": "x", "qty": 1 },
    { "name": "y", "qty": 2 }
]

在这种情况下,Items 是一个包含两个对象的数组。可以使用以下 C# class:

对单个对象进行建模
public class Item
{
    public string Name { get; set; }
    public int Qty { get; set; }
}

使用IConfiguration,有多个绑定选项。这是一个例子:

var yourItems = someIConfigurationInstance.GetSection("Items").Get<Item[]>();