我在Youtube Data API的JSON中有以下响应
{
"kind": "youtube#channelListResponse",
"etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/B7stMlWJTBpmW2q34yWKIzz8fF8\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#channel",
"etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/vV2FFZUI5inz53NuQDJMTs3tdQk\"",
"id": "UCwy6X3JB24VTsDFqMwdO5Jg",
"contentDetails": {
"relatedPlaylists": {
"uploads": "UUwy6X3JB24VTsDFqMwdO5Jg"
},
"googlePlusUserId": "114467711950028252332"
}
}
]
}
我试图使用JSON.parse
将其变成一个对象,但这样做会给我这个。
{ kind: 'youtube#channelListResponse',
etag: '"0KG1mRN7bm3nResDPKHQZpg5-do/B7stMlWJTBpmW2q34yWKIzz8fF8"',
pageInfo: { totalResults: 1, resultsPerPage: 1 },
items:
[ { kind: 'youtube#channel',
etag: '"0KG1mRN7bm3nResDPKHQZpg5-do/vV2FFZUI5inz53NuQDJMTs3tdQk"',
id: 'UCwy6X3JB24VTsDFqMwdO5Jg',
contentDetails: [Object] } ] }
如何将contentDetails
的值转换为适当的对象?
答案 0 :(得分:2)
它已经是一个正确的对象,它只是没有正确输出到控制台上。尝试打印JSON.parse
的结果,例如res
使用以下内容:
console.log(util.inspect(res, { showHidden: true, depth: null }));
请参阅https://nodejs.org/api/util.html#util_util_inspect_object_options
答案 1 :(得分:0)
它是一个合适的对象,您仍然可以正常方式访问它的属性。因为console.log不打印深层对象,所以如果要在日志中看到它,请将其转换为字符串。在这里尝试对象字符串脚本 https://stackoverflow.com/a/5612876
答案 2 :(得分:0)
您可以使用 JSON.stringify(parsedObject)查看完整详情