我正在使用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/