【发布时间】:2018-11-14 06:32:17
【问题描述】:
我有一个类似于以下架构的 JSON 响应...
{
"resultCode": 200,
"message": "Success",
"generated": "2018-11-14T18:42:02",
"expires": "2018-11-14T18:50:00",
"data": {
"generationByFuel": [
{
"date": "2018-11-14T00:00:00",
"period": 37,
"generation": [
{
"fuel": "Hydro",
"generation": 1011.298,
"capacity": 2000
},
{
"fuel": "Wind",
"generation": 2544.788,
"capacity": 3500
}
]
},
{
"date": "2018-11-14T00:00:00",
"period": 36,
"generation": [
{
"fuel": "Hydro",
"generation": 1100,
"capacity": 2000
},
{
"fuel": "Wind",
"generation": 2500,
"capacity": 3500
}
]
}
]
}
}
据此,我需要提取多个数组,这些数组将插入到 googlesheet(“shtGen”)中,填充以下列:
|日期 |期间 |燃料 |一代 |容量 |运行时 |
我猜我需要做的是写一些输出 (generationByFuel[i](generation[r])) 的东西,但我正在努力弄清楚如何做到这一点。
我尝试了多种选择,但以下是我认为自己走在正确轨道上的最后一次尝试。也就是说,该函数运行时不会返回错误,但不会将任何信息插入到谷歌表中。当我使用调试器运行函数时,也会发生同样的事情。
// define output to paste into sheet
for (var i in genData) {
var iInput = [];
iInput.push(genData[i].date);
iInput.push(genData[i].period);
for (var r in fuelData) {
var rInput = [];
rInput.push(fuelData[r].fuel);
rInput.push(fuelData[r].capacity);
rInput.push(fuelData[r].generation);
rInput.push(now = new Date());
shtGen.appendRow(iInput + rInput);
}
}
这里的任何帮助或建议将不胜感激。提前致谢!
【问题讨论】:
-
fuelData应该在内部循环之前分配fuelData = genData[i].generation -
@Slai 抱歉,我确实声明了
iInput和rInput,但收到了危险信号,说我发布的代码多于文本,因此被删除。这些是我的声明...var genData = json['data']['generationByFuel'];var fuelData = json['data']['generationByFuel']['generation'];
标签: arrays json google-apps-script