Объекты доступа к данным JSON - PullRequest
2 голосов
/ 15 июля 2011

У меня следующий JSON, возвращенный из вызова AJAX:

{"rows":[{"Date":"07/10/2011","Value":1206,"Action":"Drink"},    
{"Date":"07/11/2011","Value":2288,"Action":"Pie"},
{"Date":"07/12/2011","Value":1070,"Action":"Drink"},
{"Date":"07/13/2011","Value":1535,"Action":"Beer"},
{"Date":"07/14/2011","Value":1721,"Action":"Drink"}],
"page":1,"total":1,"records":5}

Как я могу получить значения из этого результата, используя jQuery?

Например, я хотел бы получить данныеэлементы для первого ряда:

json.rows[0].date = 07/10/2011
json.rows[0].value = 1206

?

Ответы [ 2 ]

3 голосов
/ 15 июля 2011

Есть несколько способов сделать это, вы можете использовать eval (), но eval () обычно считается злом, плюс JSON не является точно таким же, как определяющие данные в коде Javascript. Я только что погуглил, что напомнило мне, что jquery имеет функцию parseJSON.

Проверьте это.

http://api.jquery.com/jQuery.parseJSON/

Но если вы используете jquery для ajax (довольно популярного), вы можете установить для dataType значение json, и это сделает это за вас.

    $.ajax(
    {
            url: "/map", // should return JSON
            dataType: 'json',
            cache: false,
            data: {},
            success: function(response)
            {
                // response is an object

                alert( response.rows[0].Date );

                cook( response );
            }
    });
0 голосов
/ 15 июля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...