我将JSON数据映射到C#中我自己的类,然后尝试在需要的位置显示各种数据但是我遇到了一个小问题,当我无法获取数据时相信我应该能够。显然,什么是错的,我希望有人能指出我在正确的方向:JSON的从Json访问数据集
示例代码片段:
"items"
{
"0"
{
"name" "Riki's Dagger"
"prefab" "default_item"
"item_name" "#DOTA_Item_Rikis_Dagger"
"item_type_name" "#DOTA_WearableType_Daggers"
"model_player" "models/heroes/rikimaru/rikimaru_weapon.mdl"
"used_by_heroes"
{
"npc_dota_hero_riki" "1"
}
}
"1"
{
"name" "Anti-Mage's Glaive"
"prefab" "default_item"
"item_description" "#DOTA_Item_Desc_AntiMages_Glaives"
"item_name" "#DOTA_Item_AntiMages_Glaive"
"item_type_name" "#DOTA_WearableType_Glaive"
"model_player" "models/heroes/antimage/antimage_weapon.mdl"
"used_by_heroes"
{
"npc_dota_hero_antimage" "1"
}
}
我使用下面如下序列化这对我自己的类:
DotaItemsGameResult itemGameResult
= JsonConvert.DeserializeObject<DotaItemsGameResult>(rawItemDetailsJson);
这是行得通,因为我在别处使用过这个。
麻烦来这里:
string dataToDisplay = "";
foreach (DotaItemsGameItem item in itemGameResult.Items_Game.Items.Item_Index)
{
dataToDisplay += "<h3> Item: " + item.Name + "</h3>";
dataToDisplay += "<p> Quality: " + item.Item_Quality + "</p>";
dataToDisplay += "<p> Attributes: " + item.Used_By_Heroes + "</p>";
}
return dataToDisplay;
我的代码似乎知道即将itemGameResult.Items_Game.Items
而不是当我想进一步进入.Items_Index
。
我有以下类别:
基本上,我的目标是能够得到在我的循环的Used_By_Heroes
数据,但我不能。
在我的每个,itemGameResult.Items_Game.Items
是好的,但itemGameResult.Items_Game.Items.Item_Index
不是,我不明白为什么。
我不能访问Item_Index
当我使用点符号,没有Item_Index
我希望那里有。如果我把它放在不管怎样,尝试编译,我看到:
错误1“System.Collections.Generic.List”不包含一个定义为“Item_Index”,没有扩展方法“Item_Index”接受可以找到'System.Collections.Generic.List'类型的第一个参数(你是否缺少using指令或程序集引用?)。
任何帮助将是太棒了。
啊..就是这样。有点傻...谢谢你的帮助! – Goose