从 google 电子表格中的特定单元格范围获取 json 数据
obtaining json data from a specific range of cells in a google spreadsheet
我正在尝试找到一种方法来从 google 文档 sheet.
中特定范围的单元格中获取 json 数据
我的spready是这样的
我想获得一个JSON对象如下
{
"Parts":{"target1": 230000, "target2":200000},
"Accessories":{"target1": 150000, "target2":100000},
"Stars":{"target1": 95, "target2":70},
"Labour":{"target1": 900, "target2":750},
}
我已阅读 this article 并尝试根据我的需要对其进行调整,但我这样做的实验都被严重破坏了。我要么在我的 json 中得到大量不需要的元数据,要么什么都没有。我怀疑相关文章已经过时,已有 5 年多了。
谁能提出不同的方法?
如您所见,Google 工作表 API 总是 return s JSON 加载的元数据多于实际内容。要以您想要的方式转换 table,您需要一个脚本。这是一个可以在工作表中用作自定义函数的脚本:输入 =tableJSON(A2:E4)
将 return 所需形式的字符串。
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);
}
我正在尝试找到一种方法来从 google 文档 sheet.
中特定范围的单元格中获取 json 数据我的spready是这样的
我想获得一个JSON对象如下
{
"Parts":{"target1": 230000, "target2":200000},
"Accessories":{"target1": 150000, "target2":100000},
"Stars":{"target1": 95, "target2":70},
"Labour":{"target1": 900, "target2":750},
}
我已阅读 this article 并尝试根据我的需要对其进行调整,但我这样做的实验都被严重破坏了。我要么在我的 json 中得到大量不需要的元数据,要么什么都没有。我怀疑相关文章已经过时,已有 5 年多了。
谁能提出不同的方法?
如您所见,Google 工作表 API 总是 return s JSON 加载的元数据多于实际内容。要以您想要的方式转换 table,您需要一个脚本。这是一个可以在工作表中用作自定义函数的脚本:输入 =tableJSON(A2:E4)
将 return 所需形式的字符串。
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);
}