繁体   English   中英

jQuery访问JSON对象?

[英]jQuery Accessing a JSON object?

我从$.ajax({ POST.....得到以下回复$.ajax({ POST.....

[{"total_votes":1,"options":[{"id":40,"vote_count":0,"users":[]},{"id":41,"vote_count":1,"users":[{"photo":"xxxxxxxxxxx.png","name":"XXXXX,"id":1}]},{"id":42,"vote_count":0,"users":[]}]}]

所以我试着得到total_votes:

    success: function(e) {
        console.log(e['total_votes'])       
    }

也试着搞定

        console.log( e['options'].length() )
        console.log( e['options'][0]['id'] )

关于为什么我一直未定义的建议? 还有更好的方法来循环选项吗?

谢谢

你的根对象是一个数组,所以你需要做一些像e[0]['total_votes'] 此外,数组的长度不是函数的属性,因此您需要执行e[0].options.lengthe[0]['options'].length

使用$ .each()循环遍历它们

根据您的示例JSON响应(它在数组中),它将是e [0] .total_votes

在解除引用JSON对象之前,需要调用JSON.parse

以这种方式格式化你的Json,你可以得到像这样的“total_votes”值

success: function(e) {
    console.log(e[0].total_votes);

}

 [
    {
        "total_votes": 1,
        "options": [
            {
                "id": 40,
                "vote_count": 0,
                "users": []
            },
            {
                "id": 41,
                "vote_count": 1,
                "users": [
                    {
                        "photo": "xxxxxxxxxxx.png",
                        "name": "XXXXX",
                        "id": 1
                    }
                ]
            },
            {
                "id": 42,
                "vote_count": 0,
                "users": [
                    {}
                ]
            }
        ]
    }
]

看看这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM