getJSON返回错误'object is undefined'

时间:2011-05-25 05:49:00

标签: jquery json getjson

我在尝试获取json数据时遇到了这个麻烦。

假设我有一个名为“projects.json”的文件,其结构如下(显示2个项目,原始文件超过100个)

{"project":[
        {
            "featid":1,
            "ced":12001,
            "x":659770.164751449,
            "y":990679.029463668

        },
        {
            "featid":2,         
            "ced":110002,
            "x":621482.834052153,
            "y":1034455.00718159
        }
]
}

当我尝试访问数据时,我收到以下错误

 object is undefined
 length = object.length, 

这是我用来获取数据的功能

 $(document).ready(function(){
 var url="json/projects.json";

    $.getJSON(url,{featid: 1},function(data){
        $.each(data.results,function(i,proy){

           $("#output").append('<p>'+proy.ced+'</p>');
        });

    });
});

我错过了什么?我检查了json文件,似乎是有效的,所以我不知道它会是什么。

谢谢你的帮助

2 个答案:

答案 0 :(得分:6)

您的数据似乎没有results属性。您的意思是project吗?

答案 1 :(得分:0)

Ates是对的。而不是使用

$.each(data.results,function(i,proy)

使用$.each(data.project,function(i,proy)

因为您的JSON项目不是结果。你似乎已经从任何一个例子中复制了代码。忘了改变变量(这很常见):)