Как читать многоуровневые данные Json с помощью jQuery? - PullRequest
2 голосов
/ 19 января 2009

Вот мои данные Json:

[{"ok" : false,
  "details" : [{"n" : "Email",
                "v" : "The email address you entered is not correct."},
               {"n" : "NameFull",
                "v" : "Please enter your full name."}]
 }]

Я обнаружил, что читать данные Json на уровне сиглов очень просто, но для многоуровневых данных, подобных описанным выше, я не смог найти ответ путем поиска в Интернете. Я просто хочу прочитать выше значения. Как чтение значений из "n" и "v" в разделе "детали".

Ответы [ 2 ]

6 голосов
/ 19 января 2009

Данные находятся внутри массива

Обратите внимание на квадратные скобки вокруг ваших данных. Вам нужно будет индексировать массив в указанном выше наборе данных.

Это должно позволить вам получить доступ к значению электронной почты:

var json = '[{"ok":false,"details":[{"n":"Email","v":"The email address you entered is not correct."},{"n":"NameFull","v":"Please enter your full name."}]}]';

var k = eval( json );

alert( k[0].details[0].v );

А это появившийся текст предупреждения:

The email address you entered is not correct.

Может быть, ваш JSON-источник поместил его в массив, потому что они хотят вернуть несколько элементов?

И вообще, для этого вам не нужен jQuery. JSON означает JavaScript Object Notation. По сути, это означает, что это блок кода Javascript, который может быть оценен как есть непосредственно в JavaScript для получения сериализованных данных, которые, в вашем случае, являются массивом.

1 голос
/ 19 января 2009

Извините, может быть, я не понимаю вашего вопроса. Это не работает для вас?

var data = eval('(' + strJson + ')');

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