将JSON数组中的值导入Google表格

时间:2017-10-20 17:17:11

标签: arrays json google-sheets google-sheets-api

这可能比语法问题更重要,但我使用以下脚本将JSON导入Google工作表:

function IMPORTJSON(url,xpath){

  try{
    var res = UrlFetchApp.fetch(url);
    var content = res.getContentText();
    var json = JSON.parse(content);

    var patharray = xpath.split("/");

    for(var i=0;i<patharray.length;i++){
      json = json[patharray[i]];
    }

    if(typeof(json) === "undefined"){
      return "Not available";
    } else if(typeof(json) === "object"){
      var tempArr = [];

      for(var obj in json){
        tempArr.push([obj,json[obj]]);
      }
      return tempArr;
    } else if(typeof(json) !== "object") {
      return json;
    }
  }
  catch(err){
      return "Error";  
  }

}

我能够很好地获得价值,这个简单的名称的语法如下:"productinfo": { "name":, "url": }只是=IMPORTJSON(urlgoeshere,"productinfo/name")。但我无法弄清楚如何在数组中获取值。让我们举个例子,我试图从中获取前面的图片网址:

"images": [ {
    "front": "http://front.jpg",
    "back": "http://back.jpg",
    "side": "http://side.jpg"
    } ]

我已经尝试了很多事情,例如"images/front""images[0]/front",但我没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我明白了,这纯粹是语法。例如:images/0/front