【发布时间】:2023-03-08 01:51:01
【问题描述】:
我想知道我需要在脚本中进行哪些调整以使结果出现在电子表格中:
TypeError:无法读取未定义的属性“0”(第 7 行)
function Cartola() {
var url = "https://api.cartolafc.globo.com/mercado/destaques";
var response = UrlFetchApp.fetch(url);
var data = response.getContentText();
var result = JSON.parse(data);
var apelido = result.Atleta[0].apelido;
var foto = result.Atleta[0].foto;
var clube_nome = result.Atleta[0].clube_nome;
var posição = result.Atleta[0].posicao;
var sheet = SpreadsheetApp.getActiveSheet();
sheet.clear()
var headerRow = ['apelido','foto','clube_nome','posição'];
sheet.appendRow(headerRow);
for(var i=0;i<result[0].Atleta;i++){
var row = [result.Atleta[i].apelido,result.Atleta[i].foto,result.Atleta[i].clube_nome,result.Atleta[i].posicao];
SpreadsheetApp.getActiveSheet().appendRow(row);
}
}
【问题讨论】:
-
在
result之后尝试Logger.log(data),然后检查查看日志以查看该对象的输出。也许它已经是一个json对象,你不需要解析它。 -
通过记录
console.log(data)将data添加到您的问题中 -
@Marios
.getContentText()只返回一种类型:string -
@TheMaster 哎呀我的意思是响应不是数据
-
@Marios
response的类型始终为:object,特别是HttpResponse类。没有变体。更具体地说,在处理json时,总是需要getContentText(),它返回一个json字符串,你总是需要解析它。
标签: google-apps-script google-sheets