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