正在从 google 驱动器解析 json

parsing json from google drive

我正在尝试解析存储在 google 驱动器

上的 Json 文件

这里是我用来解析 json 的代码:

function readFile(fileName) {
  var fileName = filenane;
  var files = DriveApp.getFilesByName(fileName);
  if (files.hasNext()) {
    var file = files.next();
    var content = file.getBlob().getDataAsString();
    var json = JSON.parse(content);
    setdata(json);
  }
}

json 响应:Json response

这里是我尝试解析 json 响应

function setdata(json) {
     var rows = [];
     for(var i = 0; i < json.length; i++) {
      for(var s = 0; s < json[i].result.organic_results; s++) {
        //your JSON entities here
        rows.push([json[i].result.search_parameters.q,json[i].result.organic_results[s].position ]);
      }
    }
    Logger.log(rows);
}

问题:“行”数组为空

有什么帮助吗?

这个修改怎么样?我认为在您的脚本中,在第二个循环的 for(var s = 0; s < json[i].result.organic_results; s++) { 处,需要将 json[i].result.organic_results 修改为 json[i].result.organic_results.length。当使用for(var s = 0; s < json[i].result.organic_results; s++) {时,第二个循环中的脚本不是运行。我认为这就是您遇到问题的原因。

所以请修改如下,再测试一下

发件人:

for(var s = 0; s < json[i].result.organic_results; s++) {

收件人:

for(var s = 0; s < json[i].result.organic_results.length; s++) {