问题描述
我正在尝试解析存储在谷歌驱动器上的 Json 文件
这是我用来解析json的代码:
function readFile(fileName) {
var fileName = filenane;
var files = DriveApp.getFilesByName(fileName);
if (files.hasNext()) {
var file = files.next();
var content = file.getBlob().getDataAsstring();
var json = JSON.parse(content);
setdata(json);
}
}
json 响应:Json response
这里我尝试解析 json 响应
function setdata(json) {
var rows = [];
for(var i = 0; i < json.length; i++) {
for(var s = 0; s < json[i].result.organic_results; s++) {
//your JSON entities here
rows.push([json[i].result.search_parameters.q,json[i].result.organic_results[s].position ]);
}
}
Logger.log(rows);
}
问题:“行”数组为空
有什么帮助吗?
解决方法
这个修改怎么样?我认为在您的脚本中,在第二个循环的 for(var s = 0; s < json[i].result.organic_results; s++) {
处,需要将 json[i].result.organic_results
修改为 json[i].result.organic_results.length
。使用 for(var s = 0; s < json[i].result.organic_results; s++) {
时,不会运行第二个循环中的脚本。我认为这就是您的问题的原因。
所以请修改如下,再测试一下。
来自:
for(var s = 0; s < json[i].result.organic_results; s++) {
致:
for(var s = 0; s < json[i].result.organic_results.length; s++) {