我正在尝试从旧的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"}
}
问题是警告消息“一个名为”的成员“项目”已经存在。这个警告是否有问题?我应该采取更好的方法吗?
在您的示例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[]>();