无法使用Google脚本解析JSON

时间:2015-05-04 15:25:10

标签: json google-apps-script

我使用Google Apps脚本来解析一些JSON并且它无法正常工作......

这是我的伪代码:

function fetchInsta() {
  var url = "xxx";
  Logger.log(url);
  var result = UrlFetchApp.fetch(url);
  var json  = JSON.parse(result.getContentText());

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var existingids = sheet.getRange("D:D");

  for(i in json.data){
    for(j in existingids){
      if(json.data[i].id = existingids[i]){
        var match = true;
      }
    }

    if(match != true){
      var id = json.data[i].id;
      var image = json.data[i].images.standard_resolution.url;
      var username = json.data[i].user.username;
      var link = json.data[i].link;      
      var date = json.data[i].createdtime;

      sheet.appendRow([image,username,link,id,date]);
      Logger.log([image,username,link,id,date]);
    }  
  }



}

我删除了网址,因为其中包含我的API密钥。但是这里返回了JSON的样本:

  "data":[  
      {  
         "attribution":null,
         "tags":[  ],
         "type":"image",
         "location":{  },
         "comments":{  },
         "filter":"Normal",
         "created_time":"1430751422",
         "link":"https:\/\/instagram.com\/p\/2Q6AiIG4hT\/",
         "likes":{  },
         "images":{  },
         "users_in_photo":[  ],
         "caption":{  },
         "user_has_liked":false,
         "id":"977536242480285779_10266761",
         "user":{  }
      },

我得到变量图片,用户名,链接很好 - 但是id和日期都是未定义的。有什么想法发生了什么?我做错了什么?

1 个答案:

答案 0 :(得分:2)

这行代码:

if(json.data[i].id = existingids[i]){

使用赋值运算符来测试是否相等。平等测试用双重或三重等号完成。如有疑问,请使用三等号。

应该是:

if(json.data[i].id === existingids[i]){