尝试将 JSON 文件放入 JS 数组

Trying to put JSON file into JS array

我有一个 JSON 文件包含:

[{
  "title": "title you desire",
  "url" : "thisistheurl.com"
},{
  "title": "title you desire",
  "url" : "thisistheurl.com"
},{
  "title": "title you desire",
  "url" : "thisistheurl.com"
}]

我现在正尝试将它们添加到 JS 数组中,并尝试在我的手机上将它们显示为警报:

$.getJSON('links.json', function (json) {
    var linkList = [];
    $.each(json, function(i, obj) {
        linkList.push([obj.title, obj.url]);
    });
});

$.each( linkList, function( key, value ) {
  alert( value.title + ": " + value.url );
});

但是当我 运行 它在我的 phone 上时,没有显示任何警报。知道我可能做错了什么吗?

尝试改变

$.each(JSONObject.results.bindings, function(i, obj) {

$.each(json, function(i, obj) {

编辑:此外,您应该在 $.getJSON 函数(在其上方)的范围之外声明 var linkList = []。否则它将在全局范围内未定义。

编辑2:哦,更重要的是,$.getJSON是一个异步函数。发生的事情是您开始加载 .json 文件,然后您的代码继续到警报部分。此时,还没有加载,所以数组一直是空的。然后几毫秒后,它加载 JSON,但为时已晚。将您的 $.each 代码移到 $.getJSON 回调中。