2015-09-08 70 views
0

我想解析一些JSON,但我遇到了問題。我試圖獲取該物品的名稱。 JSON:http://steamcommunity.com/id/xejuicy/inventory/json/730/2/C#獲取JSON值

代碼我想:

WebClient wc = new WebClient(); 
string theItems = wc.DownloadString(string.Format("http://steamcommunity.com/profiles/{0}/inventory/json/730/2/", steamUser.SteamID.ConvertToUInt64())); 
dynamic dynObj = JsonConvert.DeserializeObject(theItems); 
Console.WriteLine("{0}", dynObj.rgDescriptions,dynObj); 
foreach (var name in dynObj) 
{ 
    foreach (var subname in name) 
    { 
     Console.WriteLine("{0}", subname.name); 
    } 
} 

如果您熟悉CS:GO,我想所有的CS:那場比賽我有GO蒸汽的項目(甚至板條箱),一切在庫存中並得到它的名字。

錯誤:JValue不包含名稱的定義。它不會重複,因爲我成功地反序列化JSON,可以取值,但不能得到subvalue ...問題雖然已經回答。

+0

需要添加一堆更多信息。比如,什麼是錯誤?什麼時候發生? – CargoMeister

+0

首先'Console.WriteLine'調用格式字符串中只有一個參數,但獲取2個參數... – Nyerguds

+0

這不是問題。但是,謝謝。 – XeJuicY

回答

1
dynamic dynObj = JsonConvert.DeserializeObject(theItems); 
foreach (var desc in dynObj.rgDescriptions) 
{ 
    Console.WriteLine("{0} => {1}", desc.Name, desc.Value.name); 
} 
+0

問題是,我不知道.Value,在JSON上看...這是數字的項目...像「527635071_0」 – XeJuicY

+0

@XeJuicY只是試試它......它的工作..... – Eser

+0

哦,我的,你是我的救星@Eser – XeJuicY