javascript - 为什么 [Object] 在 node.js 中打印到控制台而不是对象的内容?

标签 javascript json node.js

我正在尝试访问 spotify API 返回的播放列表对象中的每一首歌曲。当我得到 JSON 对象时,它会在“项目”中返回一堆 [Object] 东西,这是轨道应该在的地方:

spotifyApi.getPlaylist(id, listID)
    .then(function (data) {
        // printing data from this line
        console.log('The playlist contains these tracks', data.body);
    }, function (err) {
        console.log('Something went wrong!', err);
    });

输出:

Playlist name : thug lif3  Playlist ID: 41moBc7H5bWrR3iiY0Zu9Q
The playlist contains these tracks {
    /*~~~ lots of skipped output ~~~*/
    { href: 'https://api.spotify.com/v1/users/...',
        /*~~~        why [Object]?            ~~~*/
        items: [ [Object], [Object], [Object] ],
        limit: 100
    },
}

这些 [object] 东西是无效的标志,还是有某种方法可以解析它们并从中获取数据? Spotify 网站上的 API 资源管理器在“项目”之后显示了实际的轨道对象,所以我很困惑为什么我的应用程序请求不这样做。

最佳答案

您可以让 console.log 输出正确的 JSON:

console.log('The playlist contains these tracks %j', data.body);

(%j 已记录 here)。

console.log 为对象生成的常规输出不是正确的 JSON,并且也仅限于特定的对象深度;之后,您将获得 [Object] 字符串。

关于javascript - 为什么 [Object] 在 node.js 中打印到控制台而不是对象的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29727233/

相关文章:

php - 分配外部 Javascript src 的输出以避免脚本挂起

javascript - 如何在 javascript 中访问父函数闭包?

javascript - 加载路径中包含字符串或 astrix 的 JSON

node.js - 执行 ng build 时出现@types/async (DefinitelyTyped) 错误

javascript - User.findOne() 不是函数

javascript - 使用 nodejs 和 knox 如何查看 S3 存储桶中的文件

javascript - #each 对于零数组的奇怪行为

javascript - JS 将参数作为变量传递给匿名函数并稍后调用 -> 参数值问题

json - 由于 SAPUI5 1.34 中的 JSONModel 已弃用 getData() 那么如何获取/更新模型?

ios - 使用 Alamofire 和不记名 token 序列化对象