开发者

jQuery Accessing a JSON object?

I get the following back from an $.ajax({ POST.....

[{"total_votes":1,"options":[{"id":40,"vote_count":0,"users":[]},{"id":41,"vote_count":1,"users":[{"photo":"xxxxx开发者_运维知识库xxxxxx.png","name":"XXXXX,"id":1}]},{"id":42,"vote_count":0,"users":[]}]}]

so I try to get total_votes with:

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

also try to get

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

Suggestions on why I keep getting undefined? Also is there a better way to loop through options?

Thanks


Your root object is an array, so you would need to do something like e[0]['total_votes']. Also the length of an array is not a function its a property so you would want to do e[0].options.length or e[0]['options'].length.


Loop through them with $.each()


It would be e[0].total_votes according to your example JSON response (it's in an array).


You need to call JSON.parse before dereferencing the JSON object


Formatted ur Json this way, you can get the "total_votes" value like this

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": [
                    {}
                ]
            }
        ]
    }
]

check out here

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜