如何将JSON特别是NBA统计数据导入Google表格

时间:2019-02-23 06:51:35

标签: json google-sheets

我正在努力从下面将列出的URL导入数据。我尝试了所有导入选项,并且还从https://github.com/bradjasper/ImportJSON/blob/master/ImportJSON.gs中导入了ImportJSON函数。

我要导入的网站是:https://stats.nba.com/stats/leaguedashplayerstats?College=&Conference=&Country=&DateFrom=&DateTo=&Division=&DraftPick=&DraftYear=&GameScope=&GameSegment=&Height=&LastNGames=10&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2018-19&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&TwoWay=0&VsConference=&VsDivision=&Weight=

让我知道我所缺少的是什么,我想我的问题是我似乎无法找出要导入的正确查询,但是我不确定。任何帮助将不胜感激。预先感谢!

如果我朝错误的方向前进,那么任何关于纠正我的飞船的指南也将受到赞赏。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此自定义fx:

=IMPORTJSON("url-here", "xpath-here")

function IMPORTJSON(url,xpath){

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

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

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

    //Logger.log(typeof(json));

    if(typeof(json) === "undefined"){
      return "Node 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 getting data";  
  }

}