Google表格/脚本中的JSON查询

时间:2018-03-03 17:17:38

标签: json google-apps-script google-sheets

我正在使用Google Apps脚本和Google表格从JSON文件导入数据。我已经了解了这方面的基础知识,但JSON file I am attempting to parse上的格式化让我失望。

令我困惑的是我如何根据" name"搜索信息。目前我正在使用这个:

function JSONReq(url, xpath){
  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]];
  }

  return json;
}
为了对你说实话,我现在有点迷失了。 我想要一个单元格,我可以在其中输入我已经知道的名称,然后在JSON文件中找到它并拉回信息,但我决定这样做。我可以拉和写入细胞,我有基础知识。但我无法理解如何通过名称进行搜索。

1 个答案:

答案 0 :(得分:0)

该JSON文件是一个对象数组。要查找具有给定"name"的特定对象,您可以将其解析为一个对象(您已经执行过),然后遍历它们并检查名称参数:

var myName = "name of thing I want";
var arr = JSON.parse( ... );
for(var i = 0; i < arr.length; ++i) {
    var obj = arr[i];
    if(obj.name == myName) { // could be done as obj["name"] == ... too
        // do stuff with obj
    }
}

对于你的情况,你可以为你的函数添加一个额外的参数(即第二个arg =对象的属性,例如"name",第三个=所需的值。这对任何一个都没问题。简单的键值属性,但是需要对值本身就是对象的位置进行特定处理(例如,特定JSON文件中的&#34;类别&#34;字段)。