我正在尝试通过Spotify网络API获取播放列表/专辑/歌曲。我可以将这些内容输出到控制台,但是如果我只想获取名称,我会得到undefined
我正在尝试通过使用来检索信息 返回data.body.tracks.name
这不起作用,但我可以使用
searchSpotify(req, res) {
spotifyApi.searchTracks(req.body.search).then(
function(data) {
// var testPage = data.body.tracks.items;
console.log('Search by user input', data.body.tracks.items);
res.redirect("/search");
},
function(err) {
console.error(err);
}
);
},
这将返回一些信息,如您所见,它还会返回一个名称,我如何才能将该名称作为查询中返回的唯一内容?
答案 0 :(得分:1)
data.body.tracks.items
返回一个数组,并且name
嵌套在array
内,然后嵌套在album
对象内,因此您必须像这样更深入地学习
let name = data.body.tracks.items[0].album.name
如果您有多个Items
,则可能必须遍历它才能获得每个名字
答案 1 :(得分:0)
问题在于items
是对象数组,每个对象都有一个name
字段。
尝试一下:
searchSpotify(req, res) {
spotifyApi.searchTracks(req.body.search).then(
function(data) {
// var testPage = data.body.tracks.items;
console.log('Search by user input', data.body.tracks.items);
const items = data.body.tracks.items
const names = items.forEach(item => console.log(item.name))
res.redirect("/search");
},
function(err) {
console.error(err);
}
);
您应该看到它在新行上打印每个项目的name
。