是否可以从电子表格生成嵌套的JSON?

问题描述

我想创建一个包含嵌套字段的JSON:

[
        {
            "name": "field1","type": "long"
        },{
            "name": "field2","type": ["null","string"]
        },{
            "name": "field3","type": "string"
        }
    ]

我从电子表格文档(Google表格)中获取了此信息。我认为我可以将电子表格信息转换为CSV格式,然后将CSV转换为JSON,但是我不认为CSV可以处理这些嵌套的JSON格式。我尝试过,但是会导致JSON格式错误

enter image description here

解决方法

以下代码片段将问题屏幕快照中发布的数据转换为所需的输出:

function toJSON(){
   const ss = SpreadsheetApp.getActive();
   const sh = ss.getSheetByName('Sheet1')
   const data = sh.getDataRange().getValues();

   var jsonArr = [];

   for (var i = 1; i < data.length; i++)
       jsonArr.push({
           name: data[i][0],type: data[i][1]
       });
   console.log(jsonArr)  
}

如果我误解了你的问题,请事先打扰。