使用jQuery从JSON中获取数据

时间:2014-08-18 01:44:49

标签: javascript jquery json

我还没有真正研究过jQuery + JSON。这是我的尝试。

我想从以下数据中提取数据:http://ddragon.leagueoflegends.com/cdn/4.14.2/data/en_US/rune.json这是League Of Legends Runes的数据数组。我希望将namedescriptionimage -> w y xstats用于我的项目中。

我目前有这个:

$(document).ready(function() {
    $.getJSON("http://ddragon.leagueoflegends.com/cdn/4.14.2/data/en_US/rune.json", function(data){
        $.each(data, function (index, value) {
            console.log(value[5001]); //<--- this the ID for one of the runes, to test if it is working
        });
    });
});

这是输出:

Rune ID: 5001 正如您所看到的,显示了namedescriptionimage -> w, x, ystats,如何将它们放入控制台(用于镀铬)中?

希望你们能提供帮助。

1 个答案:

答案 0 :(得分:3)

你真的很接近得到你需要的东西。问题是$ .each循环在获得你想要的东西之前循环遍历几个JSON键/值。

通过点表示法访问JSON对象,您可以在每个级别向下导航,如下所示。希望这会有所帮助。

$.getJSON("http://ddragon.leagueoflegends.com/cdn/4.14.2/data/en_US/rune.json", function(response){
    console.log(response); // Has keys for type, version, data, basic
    // Data is an array of elements
    console.log(response.data[5001]);
    // Each entry has properties you access like this.
    console.log(response.data[5001].name);
    console.log(response.data[5001].description);
    console.log(response.data[5001].image.x);
    console.log(response.data[5001].stats);
});

修改

要遍历数据数组,您需要在响应数据上执行$ .each。

$.each(response.data, function (index, entry) {
   console.log(entry.name);
   console.log(entry.description);
});