Spotify 网络 API 结果 "undefined"

Spotify web API results "undefined"

我正在尝试通过 Spotify 网络 API 获取 playlists/albums/songs。我可以将这些东西输出到控制台,但是如果我只想得到名称,我会得到 undefined

我正在尝试通过使用 returndata.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);
    }
  );
},

这 return 是一些信息,如您所见,它也是 return 一个名称,我如何才能访问该名称作为我 return 在我的查询中唯一的内容?

data.body.tracks.items returns 数组和 name 嵌套在 array 中,然后在 album 对象中,所以你必须像这样深入研究

let name = data.body.tracks.items[0].album.name

如果您有多个 Items,您可能需要遍历它,以获取每个名称

问题是 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