Arrays 如何将几个GoogleSheets列转换为JSON字符串?
我正在编写一段代码,将两列(a、B)转换为JSON格式的键/值对。我不知道该怎么做。我目前有一个函数可以读取值的顶行(键)和底行,但是我无法让它显示中间的行。我不是工程师或开发人员,但我确实喜欢编码 该表如下所示: +-------+-------------+ | A | B | +-------+-------------+ | code | description | +-------+-------------+ | brand | microsoft | +-------+-------------+ | size | large | +-------+-------------+ | color | green | +-------+-------------+ [{"code":"brand","description":"microsoft"}, {"code":"color","description":"green"}, {"code":"size","description":"large"}]Arrays 如何将几个GoogleSheets列转换为JSON字符串?,arrays,json,google-apps-script,google-sheets,custom-function,Arrays,Json,Google Apps Script,Google Sheets,Custom Function,我正在编写一段代码,将两列(a、B)转换为JSON格式的键/值对。我不知道该怎么做。我目前有一个函数可以读取值的顶行(键)和底行,但是我无法让它显示中间的行。我不是工程师或开发人员,但我确实喜欢编码 该表如下所示: +-------+-------------+ | A | B | +-------+-------------+ | code | description | +-------+-------------+ | brand | microsoft
function tableJSON(arr) {
var i, j, obj = {};
for (j = 0; j < arr[0].length; j++) {
obj[arr[0][j]] = {};
}
for (i = 0; i < arr.length; i++) {
for (j = 0; j < arr[0].length; j++) {
obj[arr[0][j]] = arr[i][j];
}
}
return JSON.stringify(obj);
}
+-------+-------------+
|A | B|
+-------+-------------+
|代码|说明|
+-------+-------------+
|品牌|微软|
+-------+-------------+
|尺寸|大|
+-------+-------------+
|颜色|绿色|
+-------+-------------+
我希望得到这样的JSON字符串:
+-------+-------------+
| A | B |
+-------+-------------+
| code | description |
+-------+-------------+
| brand | microsoft |
+-------+-------------+
| size | large |
+-------+-------------+
| color | green |
+-------+-------------+
[{"code":"brand","description":"microsoft"}, {"code":"color","description":"green"}, {"code":"size","description":"large"}]
function tableJSON(arr) {
var i, j, obj = {};
for (j = 0; j < arr[0].length; j++) {
obj[arr[0][j]] = {};
}
for (i = 0; i < arr.length; i++) {
for (j = 0; j < arr[0].length; j++) {
obj[arr[0][j]] = arr[i][j];
}
}
return JSON.stringify(obj);
}
[{“代码”:“品牌”、“说明”:“微软”},{“代码”:“颜色”、“说明”:“绿色”},{“代码”:“尺寸”、“说明”:“大”}]
到目前为止,我的Google Apps脚本代码如下所示:
+-------+-------------+
| A | B |
+-------+-------------+
| code | description |
+-------+-------------+
| brand | microsoft |
+-------+-------------+
| size | large |
+-------+-------------+
| color | green |
+-------+-------------+
[{"code":"brand","description":"microsoft"}, {"code":"color","description":"green"}, {"code":"size","description":"large"}]
function tableJSON(arr) {
var i, j, obj = {};
for (j = 0; j < arr[0].length; j++) {
obj[arr[0][j]] = {};
}
for (i = 0; i < arr.length; i++) {
for (j = 0; j < arr[0].length; j++) {
obj[arr[0][j]] = arr[i][j];
}
}
return JSON.stringify(obj);
}
函数tableJSON(arr){
变量i,j,obj={};
对于(j=0;j- 获取标题的2D数组
- 将数组添加到对象
/**/console.config({maximize:true,timeStamps:false,autoScroll:false})/**/
/**
*@param{Array}arr 2D数组
*@customfunction
*@OnlyCurrentDoc
*/
函数表jsonfixed(arr){
"严格使用",;
常量[代码,描述]=arr.shift();
返回JSON.stringify(arr.map([v1,v2])=>({[code]:v1[desc]:v2}));
}
console.info(
tableJSONFixed([
['code','description'],
[‘品牌’、‘谷歌’],
['size','large'],
[‘颜色’、‘绿色’],
])
);代码>
我曾使用tabletop将工作表转换为JSON,但如果你有一个组织性的google帐户,这将不会持续很久我第一次看到新的Stack Snippet控制台:)@Rubén希望他们能直接集成它。自从它在github中更新以来已经三年了。哦!我刚注意到你加了它,很好:)