我们正在尝试研究如何循环JSON响应。
我们设法调用第三方数据库的API并拉出第一行(标题),但需要遍历所有行,然后将它们复制到Google工作表。
有什么想法吗?
答案 0 :(得分:0)
没有太多关于您正在接收的JSON中的信息或者您将如何处理它的信息,所以这是我的一般答案:
收到完整的JSON数据后,可以使用JSON.parse( jsonString )
将其转换为对象,其中jsonString是您从API收到的数据。更多关于here。
如果行值存储在数组中,则可以使用forEach()
方法轻松遍历它们。有关here的更多信息。下面是示例JSON数据和解析它的函数。
示例数据
{
"name": "Example Data",
"rows": [
{
"string": "I'm a string",
"number": 14
},
{
"string": "Chicago",
"number": 36
}
]
}
示例解析函数
function handleJsonResponse(data) {
//Parse response and get sheet
var response = JSON.parse(data);
var spreadsheet= SpreadsheetApp.getActive().getSheetByName(response.name);
if (spreadsheet === null) {
//Error here
}
//Loop through data and add it to spreadsheet
response.rows.forEach(function( row, index ) {
//This function will be executed for every row in the rows array
//Set the index of the row to the first column in the sheet
//2 is added to the index for the row number because index starts at 0 and we want to start adding data at row 2
spreadsheet.getRange(index + 2, 1).setValue(index);
//Set the value of string to the second column
spreadsheet.getRange(index + 2, 2).setValue(row.string);
//Set the value of number to the third column
spreadsheet.getRange(index + 2, 3).setValue(row.number);
});
}
如果您有任何问题,请随时提出。