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


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

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

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

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

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

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

6 57

6 ответов:

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

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

демо.

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

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

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

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

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

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

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"johndoe@johndoe.com","Phone":"123 dead drive"}';
var data = JSON.parse(resultJSON);

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

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

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

Щелкните здесь, чтобы увидеть полное решение

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