1

我正在尝试通过他们的 API 从 Google Books 书架上获取一串 ISBN。这是我的尝试,但不起作用。(我正在尝试使用这个片段。)

$.getJSON("https://www.googleapis.com/books/v1/users/115939388709512616120/bookshelves/1004/volumes?key=MYAPIKEY", function (data) {
console.log(data);

var allIsbns = [];

for (i = 0; i < data.items.volumeInfo.industryIdentifiers[0].identifier.length; i++) {
allIsbns.push(data.items.volumeInfo.industryIdentifiers[0].identifier[i]);
}

alert(allIsbns);
});

小提琴

4

1 回答 1

1

查看记录的对象,data.items是一个数组(data.totalItems似乎是长度)。此外,industryIdentifiers[0].identifier似乎是一个字符串,而不是一个数组。因此,我认为您想改为循环data.items

另外可能值得注意的是,industryIdentifiers除非规范调用了预定义的顺序,否则您可能不应该通过显式索引来进行。我建议使用以下命令查找标识符type === "ISBN_10"

for (var i = 0; i < data.items.length; i++) {
    for (var j = 0; j < data.items[i].volumeInfo.industryIdentifiers.length; j++) {
        if (data.items[i].volumeInfo.industryIdentifiers[j].type === "ISBN_10")        
            allIsbns.push(data.items[i].volumeInfo.industryIdentifiers[j].identifier);
    }
}
于 2013-08-07T13:50:09.217 回答