Rumah > hujung hadapan web > tutorial js > jquery kaedah penghuraian JSON contoh introduction_jquery

jquery kaedah penghuraian JSON contoh introduction_jquery

WBOY
Lepaskan: 2016-05-16 16:41:11
asal
1085 orang telah melayarinya

Apa yang dipertimbangkan di sini ialah pelayan mengembalikan rentetan JSON Untuk objek JSON yang dikapsulkan oleh pemalam seperti JSONObject, perkara yang sama adalah benar dan tidak akan dijelaskan di sini.

Set rentetan JSON pertama kali diberikan di sini Set rentetan adalah seperti berikut:

var data=" 
{ 
root: 
[ 
{name:'1',value:'0'}, 
{name:'6101',value:'西安市'}, 
{name:'6102',value:'铜川市'}, 
{name:'6103',value:'宝鸡市'}, 
{name:'6104',value:'咸阳市'}, 
{name:'6105',value:'渭南市'}, 
{name:'6106',value:'延安市'}, 
{name:'6107',value:'汉中市'}, 
{name:'6108',value:'榆林市'}, 
{name:'6109',value:'安康市'}, 
{name:'6110',value:'商洛市'} 
] 
}";
Salin selepas log masuk

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:

var dataObj=eval("("+data+")");//转换为json对象 
alert(dataObj.root.length);//输出root的子对象数量 
$.each(dataObj.root,fucntion(idx,item){ 
if(idx==0){ 
return true; 
} 

//输出每个root子对象的名称和值 
alert("name:"+item.name+",value:"+item.value); 
})
Salin selepas log masuk

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:

$.getJSON("http://gaoyusi.blog.163.com/",{param:"gaoyusi"},fungsi(data){

//此处返回的data已经是json对象 
//以下其他操作同第一种情况 
$.each(data.root,function(idx,item){ 
if(idx==0){ 
return true;//同countinue,返回false同break 
} 

alert("name:"+item.name+",value:"+item.value); 

}); 
});
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan