从Steam API捕获json数据

时间:2016-02-13 17:47:42

标签: c# json api steam

所以我想要做的是从steams API中为dota2英雄捕获/提取特定数据。我使用C#来使用this方法执行此操作。

https://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?key=2D13D618DA712015812E970165632F02&language=en_us

{
"result": {
    "heroes": [
        {
            "name": "npc_dota_hero_antimage",
            "id": 1,
            "localized_name": "Anti-Mage"
        },
        ]
}

这是我一直在尝试的代码:

WebClient c = new WebClient();
        var data = c.DownloadString("https://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?key=2D13D618DA712015812E970165632F02&language=en_us");

        JObject o = JObject.Parse(data);

        string heroname = (string)o["name"];

但它只会返回一个错误,说明" heroname"是空的。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

o将成为包含一个键的对象:resulto["result"]将依次包含一个名为heroes的密钥。 o["result"]["heroes"]是一个对象数组。因此o["result"]["heroes"][0]将是第一项,o["result"]["heroes"][0]["name"]是第一项的名称。