我怎样才能从 node.js 中的 json 得到一些具体的东西
How can I get something specific from json in node.js
我正在尝试使用 Google node.js API https://github.com/googleapis/google-api-nodejs-client and I am also using the youtube data api from google https://developers.google.com/youtube/v3/ I am trying to get subscriberCount from here https://www.googleapis.com/youtube/v3/channels?part=statistics&id=channel_id&key=api_key 获取 YouTube 订阅者数量,这就是我所拥有的
这是我的代码和我得到的 https://hastebin.com/sotejijole.js,subscriberCount 在统计数据中:[Object] 但我不知道如何得到它。
您真的应该阅读一些关于按名称访问 JavaScript 对象内部属性的基本文档。
要回答您的具体问题:要访问第一个搜索结果的订阅者数量,或者在您的情况下是唯一的搜索结果,您需要访问 subscriberCount 属性 items 数组 属性 中的第一个元素,如下所示:
const parsedResponse = JSON.parse(response);
const subscriberCount = parsedResponse.items[0].statistics.subscriberCount;
简要说明:您解析的响应对象通常会包含多个 YouTube 频道的信息。我已经组成了两个不同的渠道和相应的统计数据和 etags,如下例所示。
response对象的items属性是一个array,所以第一个最相关搜索的信息结果将包含在 items 数组 属性 的第一个元素中。 items 数组的第一个元素有一个 statistics 属性,它本身有一个 subscriberCount 属性.
{
kind: 'youtube#channelListResponse',
etag: 'XpPGQXPnxQJhLgs6enD_n8JR4Qk/JPcXxXpVfYrflWLNIZU24SubpLk',
pageInfo: {
totalResults: 1,
resultsPerPage: 1
},
items: [
// the first search result
{
kind: 'youtube#channel',
etag: 'FiRsTXPnxQJhLgs6enD_n8JR4Qk/WibSoST9VFEdm73aOWaD9hhI1AM',
id: '',
statistics: {
viewCount: 12877,
commentCount: 43,
subscriberCount: 133,
hiddenSubscriberCount: false,
videoCount: 26
}
},
// the second search result
{
kind: 'youtube#channel',
etag: 'SeCoNdPnxQJhLgs6enD_n8JR4Qk/WibSoST9VFEdm73aOWaD9hhI1AM',
id: '',
statistics: {
viewCount: 1334440,
commentCount: 224,
subscriberCount: 1122,
hiddenSubscriberCount: false,
videoCount: 114
}
},
]
}
我正在尝试使用 Google node.js API https://github.com/googleapis/google-api-nodejs-client and I am also using the youtube data api from google https://developers.google.com/youtube/v3/ I am trying to get subscriberCount from here https://www.googleapis.com/youtube/v3/channels?part=statistics&id=channel_id&key=api_key 获取 YouTube 订阅者数量,这就是我所拥有的 这是我的代码和我得到的 https://hastebin.com/sotejijole.js,subscriberCount 在统计数据中:[Object] 但我不知道如何得到它。
您真的应该阅读一些关于按名称访问 JavaScript 对象内部属性的基本文档。
要回答您的具体问题:要访问第一个搜索结果的订阅者数量,或者在您的情况下是唯一的搜索结果,您需要访问 subscriberCount 属性 items 数组 属性 中的第一个元素,如下所示:
const parsedResponse = JSON.parse(response);
const subscriberCount = parsedResponse.items[0].statistics.subscriberCount;
简要说明:您解析的响应对象通常会包含多个 YouTube 频道的信息。我已经组成了两个不同的渠道和相应的统计数据和 etags,如下例所示。
response对象的items属性是一个array,所以第一个最相关搜索的信息结果将包含在 items 数组 属性 的第一个元素中。 items 数组的第一个元素有一个 statistics 属性,它本身有一个 subscriberCount 属性.
{
kind: 'youtube#channelListResponse',
etag: 'XpPGQXPnxQJhLgs6enD_n8JR4Qk/JPcXxXpVfYrflWLNIZU24SubpLk',
pageInfo: {
totalResults: 1,
resultsPerPage: 1
},
items: [
// the first search result
{
kind: 'youtube#channel',
etag: 'FiRsTXPnxQJhLgs6enD_n8JR4Qk/WibSoST9VFEdm73aOWaD9hhI1AM',
id: '',
statistics: {
viewCount: 12877,
commentCount: 43,
subscriberCount: 133,
hiddenSubscriberCount: false,
videoCount: 26
}
},
// the second search result
{
kind: 'youtube#channel',
etag: 'SeCoNdPnxQJhLgs6enD_n8JR4Qk/WibSoST9VFEdm73aOWaD9hhI1AM',
id: '',
statistics: {
viewCount: 1334440,
commentCount: 224,
subscriberCount: 1122,
hiddenSubscriberCount: false,
videoCount: 114
}
},
]
}