首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序脚本-读取列并放入JSON和string

应用程序脚本-读取列并放入JSON和string
EN

Stack Overflow用户
提问于 2020-04-21 17:58:09
回答 1查看 36关注 0票数 1

任务:

充满数据(未知长度)的一列。

代码语言:javascript
运行
复制
|data1 |
|data2 |
|data3 |

我需要把它转换成JSON (然后做其他的事情,但我知道怎么做)

代码语言:javascript
运行
复制
{
  "adminSettings":
  { "Value":
    {"whitelist":
      [
        "data1",
        "data2",
        "data3"
      ],
      "netWhitelist":"data1\ndata2\ndata3"
    }
  }
}

预期方式:

如果我正确理解,我应该能够在代码中指定大部分JSON,然后将列加载到脚本中,然后

  1. 它将创建循环遍历数组,并为每个单元格添加whitelist值作为键。
  2. 循环遍历相同的数组,获取值并合并成字符串,在中间添加"\n“,然后作为值添加到netWhitelist

我已经组装了这个,但是它还远远没有完成,大多数手册都是关于如何从JSON中获取数据并放入一个表中,而不是反过来。

代码语言:javascript
运行
复制
function make_JSON() {
  // Read data in column
  var AUTO_data = activeSpreadsheet.getSheetByName("AUTO_data");
  var values =  AUTO_data.getRange("A2:A").getValues();
  var JSON = {"adminSettings":
              {"Value":
               {"whitelist":
                [

                ],
                "netWhitelist": netWhitelist_string
               }
              }
             }



}

任何技巧和例子都会有帮助,我更愿意自己去理解和解决它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 18:06:35

getValues()返回一个2D数组。将其展平到1D数组并将其添加到json(Array.join用于创建字符串):

代码语言:javascript
运行
复制
function make_JSON() {
  // Read data in column
  var AUTO_data = activeSpreadsheet.getSheetByName("AUTO_data");
  var values =  AUTO_data.getRange("A2:A"+AUTO_data.getLastRow()).getValues().flat();
  var JSON = {"adminSettings":
              {"Value":
               {"whitelist":values,
                "netWhitelist": values.join('\n')
               }
              }
             }



}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61350002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档