我正在尝试从旧的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"}
}
问题是警告消息“名称为“ Item”的成员已经存在。这是警告吗?我有更好的方法吗?
答案 0 :(得分:1)
在示例JSON中,您尝试两次分配给属性Item
。 Items
是一个对象,而Item
是该对象的属性-给定对象不可能具有相同的两次属性。
更JSON友好的方法可能是这样的:
"Items": [
{ "name": "x", "qty": 1 },
{ "name": "y", "qty": 2 }
]
在这种情况下,Items
是一个包含两个对象的数组。可以使用以下C#类对单个对象进行建模:
public class Item
{
public string Name { get; set; }
public int Qty { get; set; }
}
使用IConfiguration
,有多个绑定此选项。这是一个示例:
var yourItems = someIConfigurationInstance.GetSection("Items").Get<Item[]>();