javascript - 如何在 JavaScript 中获取键/值对中的值 - Google Trends API

标签 javascript node.js api key-value google-trends

我正在使用google trends API最终将趋势数据导出到 Excel 文件。问题是我只想提取关键字的 formattedTime 和值。

JS 不是我的强项。如何只提取这些参数?或者有什么方法可以将这些参数分配给键值字典对?

谢谢。

json 输出

{
  "default": {
     "timelineData":[
       {
         "time":"1511629200",
         "formattedTime":"Nov 25, 2017 at 12:00 PM",
         "formattedAxisTime":"Nov 25 at 12:00 PM",
         "value":[44],
         "formattedValue":["44"]
       },
       {
         "time":"1511632800",
         "formattedTime":"Nov 25, 2017 at 1:00 PM",
         "formattedAxisTime":"Nov 25 at 1:00 PM",
         "value":[41],
         "formattedValue":["41"]
       }
     ]
   }
}

代码

'use strict';

const googleTrends = require('google-trends-api');


var animals = ['hamsters', 'puppies'];


for (var key in animals) {

    console.log(animals[key]);

    googleTrends.interestOverTime({
        keyword: key,
        startTime: new Date(Date.now() - (167.9 * 60 * 60 * 1000)),
        granularTimeResolution: true,
    }, function(err, results) {

        if (err) 
            console.log('oh no error!', err);
        else 
            console.log(results);
        console.log("--------------------------")
    });
}

最佳答案

将所需数据提取到对象中,以通过存在检查的功能方式遵循键/值对模式:

function extractTimeAndValue(data) {
  var timelineData = (data && data.default && data.default.timelineData) || [];

  return timelineData.reduce(function(timeAndValueObject, timeline) {
    var time = timeline.formattedTime;
    var value = timeline.value;

    return Object.assign(
     {},
     timeAndValueObject,
     time && value ? {[time]: value} : {}
    );
  }, {});
}

关于javascript - 如何在 JavaScript 中获取键/值对中的值 - Google Trends API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47615595/

相关文章:

使用 R 从 API 检索图片

javascript - 如何在 Node 模块中保存用户特定的配置?

javascript - 在 javascript 中获取给定经纬度的当前日期和时间

javascript - Webdriver.io - Node.js 意外的 token 导入 - 页面对象

Node.js 和 Couchbase 兼容性

python - Python 中的外汇历史数据

javascript - 为什么 .text() 和 .html() 不能与 cheerio js 和 node-fetch 一起使用?

javascript - 如何在javascript中只允许输入rh因子

javascript - 使用 Express 和 Grunt 进行 Mocha 测试

c - sizeof(struct) 如何帮助提供 ABI 兼容性?