循环遍历每个JSON响应返回" [Object Object]"

时间:2015-11-08 10:51:55

标签: javascript jquery json ajax

我有成功的AJAX功能

success: function(response){
    console.log(response);
    if(response.success){
        $.each(response.vote, function(index, value){
            alert(value);
        });
    }   
}

这是来自控制台的JSON响应(参见下图)

JSON response from the console

但它引发了我" [对象]"从警报提示,任何想法,线索,帮助,建议,建议?

4 个答案:

答案 0 :(得分:3)

请勿使用alert,而是使用console.log。您将能够以这种方式查看所有对象并避免垃圾邮件。

此外,如果您需要查看深层对象,可以使用类似https://github.com/WebReflection/circular-json的内容,这样可以打印引用自身的对象(循环引用无法打印大对象)。

答案 1 :(得分:3)

alert使用对象的toString方法,该方法将返回此[Object Object]事物。如果您想要很好地打印对象,可以使用JSON.stringify(yourObject)

答案 2 :(得分:2)

在您当前的代码中,value是一个对象,但是,警报只能显示string,因此它会使用.toString转换您的value到一个字符串,然后变成"[Object Object]"

要将value显示为键值对,请使用JSON.stringify(value)再次将其设为json

success: function(response){
    console.log(response);
    if(response.success){
        $.each(response.vote, function(index, value){
            alert(JSON.stringify(value));
        });
    }   
}

如果您只想访问该值的属性,请使用其键应该起作用:

success: function(response){
    console.log(response);
    if(response.success){
        $.each(response.vote, function(index, value){
            // This will alert each items' `bundle` value.
            // It's enough in your case, but you may have to check if the target attribute you want to alert is also an object.
            alert(value.bundle);
        });
    }   
}

答案 3 :(得分:1)

如果您想提醒该值而不是使用警告(JSON.stringify(值))