C# 获取 JSON 值

C# Get JSON value

我正在尝试解析一些 JSON,但我 运行 遇到了问题。我正在尝试获取项目的名称。 JSON: http://steamcommunity.com/id/xejuicy/inventory/json/730/2/

我试过的代码:

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,我想从 Steam 中获取所有 CS:GO 物品(甚至板条箱),我在库存中的那个游戏的所有物品并获取它的名字。

错误:JValue 不包含名称的定义。 出现的地方:second foreach (Console.WriteLine("{0}", subname.name);)

它不是重复的,因为我成功反序列化了 JSON 并且可以获取值但不能获取子值...虽然问题已经回答了。

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