Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menghuraikan JSON dalam jquery_jquery

Bagaimana untuk menghuraikan JSON dalam jquery_jquery

WBOY
WBOYasal
2016-05-16 16:09:201203semak imbas

Apa yang kami anggap ialah pelayan mengembalikan rentetan dalam bentuk JSON Untuk objek JSON yang dirangkumkan oleh pemalam seperti JSONObject, perkara yang sama adalah benar dan tidak akan dijelaskan di sini.

Salin kod Kod adalah seperti berikut:

var data="
{
akar:
[
{nama:'1',nilai:'0'},
{nama:'6101',nilai:'Bandar Xi'an'},
{name:'6102',value:'Tongchuan City'},
{nama:'6103',nilai:'Bandar Baoji'},
{nama:'6104',nilai:'Bandar Xianyang'},
{name:'6105',value:'Weinan City'},
{name:'6106',value:'Yan'an City'},
{nama:'6107',nilai:'Bandar Hanzhong'},
{nama:'6108',nilai:'Yulin City'},
{name:'6109',value:'Ankang City'},
{name:'6110',value:'Shangluo City'}
]
}";

Berdasarkan jenis data yang diperoleh secara tak segerak oleh jquery - objek dan rentetan json, di sini kami memperkenalkan kaedah pemprosesan hasil yang diperoleh dalam dua cara.

1. Untuk rentetan JSON yang dikembalikan oleh pelayan, jika permintaan asynchronous jquery tidak mempunyai perihalan jenis, atau diterima sebagai rentetan, maka kaedah ini tidak terlalu menyusahkan, iaitu, meletakkan rentetan dalam eval () dilaksanakan sekali. Kaedah ini juga sesuai untuk mendapatkan objek json menggunakan javascipt biasa Berikut adalah contoh:

Salin kod Kod adalah seperti berikut:

var dataObj=eval("(" data ")");//Tukar kepada objek json
alert(dataObj.root.length);//Output bilangan sub-objek akar
$.each(dataObj.root,fucntion(idx,item){
jika(idx==0){
kembali benar; }
//Keluarkan nama dan nilai setiap sub-objek akar
alert("name:" item.name ",value:" item.value);
})

Nota: Untuk js umum menjana objek json, anda hanya perlu menggantikan kaedah $.each() dengan pernyataan for dan yang lain kekal tidak berubah.

2. Untuk rentetan JSON yang dikembalikan oleh pelayan, jika permintaan asynchronous jquery menetapkan jenis (biasanya atribut konfigurasi ini) kepada "json", atau menggunakan kaedah $.getJSON() untuk mendapatkan pulangan pelayan, maka ada kaedah eval ( ) tidak perlu, kerana hasil yang diperoleh pada masa ini sudah menjadi objek json, anda hanya perlu memanggil objek secara langsung Di sini, kaedah $.getJSON digunakan sebagai contoh untuk menggambarkan kaedah pemprosesan data:

Salin kod Kod adalah seperti berikut:
$.getJSON("
http://user.qzone.qq.com/2227211070",{param:"gaoyusi"},fungsi(data){ //Data yang dikembalikan di sini sudah menjadi objek json
//Operasi lain di bawah adalah sama seperti kes pertama
$.each(data.root,function(idx,item){
jika(idx==0){
return true;//Sama seperti countinue, return false sama seperti break
}
alert("name:" item.name ",value:" item.value);
});
});

Di atas adalah keseluruhan kandungan artikel ini tentang jQuery parsing json.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn