正在尝试将JSON文件放入JS数组

Trying to put JSON file into JS array

本文关键字:JS 数组 文件 JSON      更新时间:2023-09-26

我有一个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 );
});

但当我在手机上运行它时,不会显示任何警报。你知道我可能做错了什么吗?

尝试更改

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

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

编辑:另外,您应该在$.getJSON函数的作用域之外声明var linkList = [](在它上面)。否则,它将在全局范围中未定义。

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