我一直在尝试使用以下代码将 JSON 响应插入 Google Apps 脚本中的 google Sheet,但由于某种原因,我在尝试运行时遇到错误。
请查看屏幕截图和下面的代码。
function myFunction() {
var key_67 = 'YYYYYYYYYYYYYYYYYY';
var ss_67 = SpreadsheetApp.openById(key_67);
var sheet_67 = ss_67.getActiveSheet();
sheet_67.getRange('A1:AZ10000').clearContent();
var url = 'https://creator.zoho.com/api/json/arfater/view/Leads_Report?authtoken=XXXXXXXXXXXXXXXXXXXX&scope=creatorapi&zc_ownername=ipekuet';
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data);
var stats=[]; //create empty array to hold data points
//The following lines push the parsed json into empty stats array
stats.push(data.Yearly_Sales); //temp
stats.push(data.Email); //dewPoint
stats.push(data.Phone); //visibility
//append the stats array to the active sheet
sheet_67.appendRow(stats)
}
最佳答案
所以你基于 postman 应用程序的 JSON 响应是
var zohoipekuetview65 = {"潜在客户":[{"Yearly_Sales":"$ 1,000.00","电子邮件":"test@zoho.com","电话":"123-032-03323","P可能”:50,“国家”:“纽约”,“邮政编码”:“10036”,“街道”:“1515百老汇”,“国家”:“美国”,“ID”:“2198633000000063029”,“城市":“纽约”,“姓名”:“Arfater Rahman”}]};
当我按原样使用该响应时:
function JsonResponse(){
var json ='var zohoipekuetview65 = {"Leads":[{"Yearly_Sales":"$ 1,000.00","Email":"test@zoho.com","Phone":"123-032-03323","Potentially":50,"State":"NY","ZipCode":"10036","Street":"1515 Broadway","Country":"USA","ID":"2198633000000063029","City":"New York","Name":"Arfater Rahman"}]} '
var data = JSON.parse(json);
Logger.log(data);
}
我得到了和你一样的错误:
SyntaxError: Unexpected token: v
这让我相信您对 API 的回复有这个术语 var zohoipekuetview65
(不太确定为什么?可能是一个错误)
下面的代码分割响应字符串以仅提供 JSON 响应
function trialParse(){
var json ='var zohoipekuetview65 = {"Leads":[{"Yearly_Sales":"$ 1,000.00","Email":"test@zoho.com","Phone":"123-032-03323","Potentially":50,"State":"NY","ZipCode":"10036","Street":"1515 Broadway","Country":"USA","ID":"2198633000000063029","City":"New York","Name":"Arfater Rahman"}]} '
Logger.log(JsonResponse(json))
}
function JsonResponse(response){
Logger.log(response)
var json = response.split("=")[1]
var data = JSON.parse(json);
Logger.log(data);
return data
}
只需使用 var data = JsonResponse(json) 在代码中调用上述函数
最后注意:正如 Jordan Rhea 所提到的,您可以使用 Logger.log(json) 来输出对日志的响应。要查看日志,请转至“ View ”>“日志”,它将显示从 Api 收到的响应。
关于javascript - 将 JSON 响应转换为 Google Sheet(Google Apps 脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43966753/