这可能比语法问题更重要,但我使用以下脚本将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"
,但我没有运气。有什么想法吗?
答案 0 :(得分:0)
我明白了,这纯粹是语法。例如:images/0/front