我试图找到一种方法从google docs表格中的特定范围的单元格中获取json数据。
我的看起来像这样 this article
我想获得一个JSON对象,如下所示
{
"Parts":{"target1": 230000, "target2":200000},
"Accessories":{"target1": 150000, "target2":100000},
"Stars":{"target1": 95, "target2":70},
"Labour":{"target1": 900, "target2":750},
}
我已经阅读了documentation,并试图让它适应我的需要,但我这样做的实验都被严重破坏了。我要么在我的json中输入大量不需要的元数据,要么根本没有。我怀疑这篇文章已经过时了,已经超过5年了。
有人可以提出不同的方法吗?
答案 0 :(得分:1)
正如您所观察到的,Google表格API总是返回加载了比实际内容更多元数据的JSON。要以您想要的方式转换表,您需要一个脚本。这是一个可以在工作表中用作自定义函数的脚本:输入=tableJSON(A2:E4)
将返回所需表单的字符串。
function tableJSON(arr) {
var i, j, obj = {};
for (j = 1; j < arr[0].length; j++) {
obj[arr[0][j]] = {};
}
for (i = 1; i < arr.length; i++) {
for (j = 1; j < arr[0].length; j++) {
obj[arr[0][j]][arr[i][0]] = arr[i][j];
}
}
return JSON.stringify(obj);
}