我正试图通过他们的API从Google Books书架中获取一串ISBN。 Here's我的尝试无效。 (我正在尝试使用this snippet。)
$.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);
});
答案 0 :(得分: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);
}
}