我是脚本和网络世界的新手,一直在努力解决我一直遇到的问题。我正在从本地 JSON 文件中读取数据,并且已经能够成功使用 jQuery.getJSON 和 jQuery.parseJSON,但是我试图在 getJSON 回调函数之外使用数据并且遇到了问题。我认为归结为我没有完全理解执行此操作的正确方法,这就是我寻求您帮助的地方。这是我的代码:
var names = new Array();
$.getJSON('ferries.json', function(data) {
var jsondata = $.parseJSON(JSON.stringify(data));
var length = jsondata.nodes.length;
for (var i = 0; i < length; i++) {
names[i] = String(jsondata.nodes[i].name);
}
});
console.log('Names: ' + names[0]);
最后一行返回未定义。如果我要在 for 循环之后立即编写该行,它将返回所需的值。JSON文件的结构如下:
{
"nodes":[
{
"name":"John"
},
...
{
"name":"Joe"
}
]
}
任何帮助将不胜感激 - 谢谢!
编辑:最后一件事,似乎最后一行 (console.log(...)) 在 $.getJSON 位之前执行,这也让我感到困惑。