我有一些JSON数据需要通过我的谷歌应用脚本访问。在同一个脚本上,我可以从同一个API访问JSON数据的其他部分。为此我使用了之前的代码或它的变体,因为在每种情况下JSON数据的显示略有不同。但是,我现在尝试获取的数据未应用于Google表格而是呈现此错误:
无法将数组转换为Object [] []。
var dataAll = JSON.parse(response.getContentText()); //
var dataSet = dataAll;
var rows = [],
data;
for (i = 0; i < Object.keys(dataSet).length; i++) { data = dataSet[Object.keys(dataSet)[i]]; rows.push(data.duration); }
dataRange = sheet.getRange(24, 2, rows.length, 2);
dataRange.setValues(rows);
我想要获取的JSON数据显示如下:
{
chats: [
{ type: "XXX",
oneone: "XXX",
twotwo: [ ],
number: "two",
one: "XXXX",
two: "XXXX",
three:
{
oneone: "XXX",
twotwo: "XXX",
three: "XXX",
fourfour: "XXX",
five: "XXX",
six: "XXX",
seven: "XXX",
eight: "XXX"
},
ten: [
{
tenten: "XXX",
nine: "XXX"
}
],
test: [ ],
tester: "XXX",
duration: XXX,
}
我需要访问“duration
”数据,但似乎无法在不收到错误的情况下使其生效。任何帮助表示赞赏。上面的JSON数据已经过编辑,可以将替代值和变量显示为私有信息。任何帮助表示赞赏!
答案 0 :(得分:0)
您正在尝试编写一个如下所示的数组:
[1,2,3,4,5]
GAS&#39; setValues()
函数需要和数组的数组长度相等,子数组是行,子数组中的元素是该行中从左到右的单元格。
如果要在行中写入数据,则需要将值添加到数组中,如下所示:
rows.push([data.duration])
如果你想将它们全部写在一行但是需要单独的列:
var rows = [[]];
...
rows[0].push(data.duration);