Подтвердить что ты не робот

Loop и получить пару ключ/значение для массива JSON, используя jQuery

Я ищу цикл через массив JSON и отображаю ключ и значение.

Это должна быть упрощенная версия следующего сообщения, но я не верю в синтаксис: jQuery 'each' loop с массивом JSON

Я также видел сообщение Получить имя ключа в парах ключ/значение в JSON с помощью jQuery?, но также показалось, что для простого действия он содержит много кода.

Это иллюстрирует то, что я ищу (но это не работает):

var result = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
$.each(result, function(k, v) {
             //display the key and value pair
            alert(k + ' is ' + v);
        });

Нет обязательного требования jQuery, но оно доступно. Я также могу реструктурировать JSON, если он сокращает требуемый код.

4b9b3361

Ответ 1

У вас есть строка, представляющая JSON-сериализованный объект JavaScript. Вам нужно отделить его до объекта JavaScript до того, как сможете выполнить его свойства. В противном случае вы будете перебирать каждый отдельный символ этой строки.

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
var result = $.parseJSON(resultJSON);
$.each(result, function(k, v) {
    //display the key and value pair
    alert(k + ' is ' + v);
});

Живая демонстрация.

Ответ 2

var obj = $.parseJSON(result);
for (var prop in obj) {
    alert(prop + " is " + obj[prop]);
}

Ответ 3

Вы можете получить значения непосредственно в случае одного массива, подобного этому:

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
var result = $.parseJSON(resultJSON);
result['FirstName']; // return 'John'
result['LastName'];  // return ''Doe'
result['Email']; // return '[email protected]'
result['Phone'];  // return '123'

Ответ 4

Следующее должно работать для возвращаемой строки JSON. Он также будет работать для ассоциативного массива данных.

for (var key in data)
     alert(key + ' is ' + data[key]);

Ответ 5

Разберите строку JSON, и вы можете прокручивать ключи.

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
var data = JSON.parse(resultJSON);

for (var key in data)
{
    //console.log(key + ' : ' + data[key]);
    alert(key + ' --> ' + data[key]);
}

Ответ 6

Лучшее и идеальное решение для этой проблемы:

Я попробовал jQuery с ответами на успех Ajax, но он не работает, поэтому я придумал свой собственный и, наконец, он работает!

Нажмите здесь, чтобы увидеть полное решение

var rs = '{"test" : "Got it perfect!","message" : "Got it!"}';
eval("var toObject = "+ rs + ";");
alert(toObject.message);