it-swarm-id.com

Ulangi dan dapatkan pasangan kunci / nilai untuk array JSON menggunakan jQuery

Saya ingin mengulang melalui array JSON dan menampilkan kunci dan nilai.

Seharusnya versi yang disederhanakan dari posting berikut, tapi sepertinya saya tidak memiliki sintaks yang benar: loop jQuery 'each' dengan array JSON

Saya juga melihat posting Dapatkan nama kunci pada pasangan kunci/nilai di JSON menggunakan jQuery?, tetapi juga tampak seperti banyak kode untuk aktivitas sederhana.

Ini menggambarkan apa yang saya cari (tetapi tidak berhasil):

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);
        });

Tidak ada persyaratan jQuery wajib, tetapi tersedia. Saya juga dapat merestrukturisasi JSON jika itu mengurangi kode yang diperlukan.

58
JStark

Anda memiliki string yang mewakili objek JavaScript serial JSON. Anda harus membatalkan deserialisasi kembali ke objek JavaScript sebelum dapat mengulang-ulang propertinya. Kalau tidak, Anda akan mengulang setiap karakter individu dari string ini.

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);
});

Demo langsung .

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

Berikut ini harus berfungsi untuk string yang dikembalikan JSON. Ini juga akan berfungsi untuk array data asosiatif.

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

Anda bisa mendapatkan nilai secara langsung dalam kasus satu array seperti ini:

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'
6
Oskar

Parsing string JSON dan Anda bisa mengulang melalui tombol.

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]);
}
2
mythicalcoder

Solusi terbaik dan sempurna untuk masalah ini:

Saya mencoba jQuery dengan respons sukses Ajax, tetapi tidak berhasil, jadi saya menciptakan sendiri dan akhirnya berhasil!

Klik di sini untuk melihat solusi lengkap

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