Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从google电子表格中的特定单元格范围获取json数据_Javascript_Json_Google Sheets_Google Sheets Api - Fatal编程技术网

Javascript 从google电子表格中的特定单元格范围获取json数据

Javascript 从google电子表格中的特定单元格范围获取json数据,javascript,json,google-sheets,google-sheets-api,Javascript,Json,Google Sheets,Google Sheets Api,我试图找到一种方法,从GoogleDocs工作表中的特定单元格区域获取json数据 我的头发看起来像这样 我想获得一个JSON对象,如下所示 { "Parts":{"target1": 230000, "target2":200000}, "Accessories":{"target1": 150000, "target2":100000}, "Stars":{"target1": 95, "target2":70}, "Labour":{"target1": 900, "targe

我试图找到一种方法,从GoogleDocs工作表中的特定单元格区域获取json数据

我的头发看起来像这样

我想获得一个JSON对象,如下所示

{ 
 "Parts":{"target1": 230000, "target2":200000},
 "Accessories":{"target1": 150000, "target2":100000},
 "Stars":{"target1": 95, "target2":70},
 "Labour":{"target1": 900, "target2":750},
}
我读过并试图根据自己的需要修改它,但我在这方面的实验都遭到了可怕的破坏。我要么在json中有大量不需要的元数据,要么什么都没有。我怀疑这篇文章过时了,已经5年多了


有人能提出一种不同的方法吗?

正如您所观察到的,Google Sheets 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);
}
函数tableJSON(arr){ 变量i,j,obj={}; 对于(j=1;j