使用jquery解码json时的值未定义

时间:2013-03-26 21:34:44

标签: json jquery

我知道有很多与此主题相关的问题,但我尝试了很多但我仍然无法获得这些值。

我正在使用firbug,我得到了正确的答案: -

[{"id":4,"comments":1,"likes":5,"books":3,"name":"steve"}] 

但我无法在页面上显示它们。当我尝试alert(data.id)时,我在警告框中未定义。这是我的代码: -

$.ajax({
                type: "GET",
                url: "getdata.php",
                data: dataString,
                dataType:"json",
                success: function(data){
                               alert(data.id);

                    }
                });

我试过

$.each(data, function (key, element) {
                            alert(key); 
                            alert(element); 
                        });

这会将键显示为0,但将元素显示为警告框中的[object Object]

1 个答案:

答案 0 :(得分:5)

这是因为您的回复是一个数组。

要么

success: function(data){
    alert(data[0].id);
}

或仅返回一个对象

{"id":4,"comments":1,"likes":5,"books":3,"name":"steve"}

或者如果您想保留数组,请使用each

$.each(data, function (key, element) {
    alert(key); 
    alert(element.id); 
    alert(element.comments); 
    alert(element.likes);
    ... 
});