我將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