从 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);
}