出于某种原因,我可以将 JSON 对象推送到我的数组“列表”,但是当我调用它的 .length 时,似乎我得到的是字符数而不是项目数。
更新:查看解决方案的答案。我的脚本没有返回字符,它呈指数级循环。
$.getJSON('[omitted].php?callback=?',function(d,item){
var list = []
alert('Length: '+d.length) // d consists of 271 JSON objects, d.length = 271
for (i=0;i<d.length;i++){
$.each(d,function(){ // for each JSON object we add...
list.push({'name':this.name,'href':this.href,'img':this.img})
})
if (i==d.length){
alert('Completed - Length: '+list.length) // list.length = 44711. Why?
}
}
})
请注意,当我使用 alert(list) 时,我看到:
[object,Object][object,Object][object,Object] ...
而不是一个数组:
[[object,Object][object,Object][object,Object] ... ]