我怎样才能从 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 对象内部属性的基本文档。

Working with objects

Property accessors


要回答您的具体问题:要访问第一个搜索结果的订阅者数量,或者在您的情况下是唯一的搜索结果,您需要访问 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
            }
        },
    ]
}