使用不同级别的节点解析JSON

时间:2012-07-01 15:09:59

标签: javascript jquery ajax json

我很难将数据附加到JSON文件中的元素上。我有以下

Link to JSON

这是我想要使用的jQuery -

$.ajax({
    url: 'https://www.googleapis.com/books/v1/volumes?q=:isbn=0-13-727827-6',
    dataType: 'json',
    success: function(data){
        $.each(data.items, function(index){
            $(".tab1").append("<div>"+data.title+"</div>");
        });
    }
});

来自JSFiddle

你可以看到我错了!我希望从Item->volumeInfo->title拉出书的标题每当我尝试引用节点volumeInfo时,我都会收到错误

1 个答案:

答案 0 :(得分:3)

data这里是顶级对象,而不是您尝试循环的每个项目。 JQuery each函数提供了两个参数,索引和当前循环的项目。所以请改用第二个参数:

$.ajax({
    url: 'https://www.googleapis.com/books/v1/volumes?q=:isbn=0-13-727827-6',
    dataType: 'json',
    success: function(data){
        $.each(data.items, function(index, item){
            $(".tab1").append("<div>"+item.volumeInfo.title+"</div>");
        });
    }
});