Google表格/脚本中的JSON查询

问题描述 投票:0回答:1

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

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

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文件中找到它并拉回信息,但我决定这样做。我可以拉和写入细胞,我有基础知识。但我无法理解如何通过名称搜索。

json google-apps-script google-sheets
1个回答
0
投票

该JSON文件是一个对象数组。要查找具有给定"name"的特定对象,您可以将其解析为一个对象(您已经执行过),然后遍历它们并检查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文件中的“类别”字段)。

© www.soinside.com 2019 - 2024. All rights reserved.