【问题标题】:iterating through json getting empty value遍历json获取空值
【发布时间】:2017-03-29 15:45:34
【问题描述】:

无法将值推出。请帮忙!!

function pullJSON(data) {
 var url="https://www.eventbriteapi.com/v3/subcategories/?event_status=live&token=XXXXXXXXXXX&page_count=4"; // Paste your JSON URL here
  
   var response = UrlFetchApp.fetch(url); // get feed
 var data = JSON.parse(response.getContentText()); //
  var dict = JSON.stringify(data);
  //Logger.log(dict);
   var keys = [];
  for(var k in dict) keys.push(k+':'+dict[k]);
  Logger.log(keys);
  
}
结果如下: [17-03-29 11:41:19:033 EDT] []

JSON data

【问题讨论】:

  • 函数 pullJSON(data) { var url="eventbriteapi.com/v3/subcategories/…"; // 在此处粘贴您的 JSON URL var response = UrlFetchApp.fetch(url); // 获取提要 var data = JSON.parse(response.getContentText()); // var dict = JSON.stringify(data);行=[]; for (i = 0; i

标签: arrays json


【解决方案1】:

当你使用 JSON.stringify() 时,它会返回一个字符串。看起来你想要一个对象,而不是一个字符串。

尝试使用它而不是你的 for 循环:

var keys = Object.keys(data).map(function(key){ return key + ':' + data[key]});

【讨论】:

  • 我只是尝试使用它并在该行不断收到语法错误。函数 pullJSON(data) { var url="eventbriteapi.com/v3/subcategories? event_status=live&token=xxxxxxxxxx&page_count=4"; var response = UrlFetchApp.fetch(url); // 获取提要 var data = JSON.parse(response.getContentText()); // var keys = Object.keys(data).map(key => key + ':' + data[key]); }
  • 什么是语法错误?我认为唯一可能是我正在使用箭头函数;你可以用 es5 函数替换它
  • 我想就是这样。我正在使用谷歌脚本,所以我可以使用 == 代替。当我这样做时,它删除了错误,但现在我收到一个错误,提示未定义密钥。
  • 我已经更新了代码以使用 es5 函数而不是箭头函数
  • 谢谢。你 Rob - 那行得通。我还有一个问题。我不知道我是否需要提交另一个问题,如果需要,请告诉我。但我只需要知道如何将数据推送出去,这样我就可以在 Logger.log() 中看到结果。
猜你喜欢
  • 2012-01-18
  • 2017-09-07
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 2021-03-08
  • 1970-01-01
  • 2016-10-24
相关资源
最近更新 更多