尝试将 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
回调中。
我有一个 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
回调中。