jQuery Доступ к объекту JSON? - PullRequest
3 голосов
/ 26 июня 2011

Я получаю следующее от $.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'] )

Предложения о том, почему я продолжаю получать неопределенность? Кроме того, есть ли лучший способ перебрать опции?

Спасибо

Ответы [ 5 ]

8 голосов
/ 26 июня 2011

Ваш корневой объект - это массив, поэтому вам нужно сделать что-то вроде e[0]['total_votes'].Кроме того, длина массива не является функцией, это свойство, поэтому вы можете захотеть сделать e[0].options.length или e[0]['options'].length.

2 голосов
/ 26 июня 2011

Переберите их по $. Каждый ()

1 голос
/ 26 июня 2011

Это будет e<b>[0]</b>.total_votes в соответствии с вашим примером ответа JSON (он находится в массиве).

0 голосов
/ 26 июня 2011

Таким образом, отформатировав ur 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": [
                    {}
                ]
            }
        ]
    }
]

проверить здесь

0 голосов
/ 26 июня 2011

Вам нужно вызвать JSON.parse перед разыменованием объекта JSON

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...