Rumah hujung hadapan web tutorial js Penjelasan terperinci tentang penukaran JavaScript dan menghuraikan kemahiran examples_javascript kaedah JSON

Penjelasan terperinci tentang penukaran JavaScript dan menghuraikan kemahiran examples_javascript kaedah JSON

May 16, 2016 pm 03:30 PM
javascript javascript menghuraikan json json menghuraikan Tukar

Contoh dalam artikel ini menerangkan penukaran JavaScript dan menghuraikan kaedah JSON. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Data format json adalah seperti berikut:

var json = { 'jquery': [{ "id": "1", "type": "ASP.NET", "title": "JSON全解析"}] }
    alert(json.jquery[0].id);
    alert(json.jquery[0].type);
    alert(json.jquery[0].title);

Salin selepas log masuk

Javascript menghuraikan data json:

window.onload = function() {
 var json = { "China": "[{'City':'上海','value':'1'},{'City':'南京','value':'2'},{'City':'杭州','value':'3'},{'City':'武汉','value':'4'}]" }
 var datas = eval(json.China);
 for (var i = 0; i < datas.length; i++) 
 {
  alert(datas[i].City);
  alert(datas[i].value);
 }
}

Salin selepas log masuk

Tambahan: kaedah json parsing jQuery:

Gunakan fungsi eval untuk menghuraikan dan jquery setiap kaedah untuk melintasi

Gunakan JQuery untuk menghuraikan data JSON Sebagai objek penghantaran permintaan asynchronous, hasil yang dikembalikan selepas permintaan JQuery ialah objek json Apa yang dipertimbangkan di sini ialah bentuk rentetan yang dikembalikan oleh pelayan dalam bentuk JSON pemalam seperti JSONObject Objek JSON adalah serupa dengan ini 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:'重庆市'}, 
]
}"; 

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 diperolehi oleh kedua-dua kaedah tersebut.

eval()

Untuk rentetan JSON yang dikembalikan oleh pelayan, jika permintaan asynchronous jquery tidak menyatakan jenis, atau menerimanya dalam mod rentetan, maka ia perlu diobjektifkan, atau ia adalah untuk meletakkan rentetan dalam eval() Dilaksanakan sekali. Kaedah ini juga sesuai untuk mendapatkan objek json menggunakan javascipt biasa Berikut adalah contoh:

// 转换为json对象
var dataObj=eval("("+data+")");

Salin selepas log masuk

Mengapa kita perlu menambah ("(" data ")");

Sebabnya ialah: masalah eval itu sendiri. Memandangkan json bermula dan berakhir dengan "{}", ia akan diproses sebagai blok pernyataan dalam JS, jadi ia mesti dipaksa untuk ditukar menjadi ungkapan.

Tujuan menambah kurungan adalah untuk memaksa fungsi eval menukar ungkapan dalam kurungan kepada objek dan bukannya melaksanakannya sebagai pernyataan semasa memproses kod JavaScript. Sebagai contoh, ambil objek secara literal {}. Jika tiada kurungan luar ditambahkan, maka eval akan mengenali pendakap sebagai tanda permulaan dan penamat bagi blok kod JavaScript dan {} akan dianggap untuk melaksanakan pernyataan kosong. Jadi dua keputusan pelaksanaan berikut adalah berbeza:

// return undefined
alert(eval("{}"); 
// return object[Object]
alert(eval("({})");

Salin selepas log masuk

Tulisan seperti ini boleh dilihat di mana-mana di JS. Contohnya: (function()) {}();

//输出root的子对象数量 
alert(dataObj.root.length);
$.each(dataObj.root,fucntion(idx,item){ 
  if(idx==0){ 
    return true; 
  } 
  //输出每个root子对象的名称和值 
  alert("name:"+item.name+",value:"+item.value); 
}) 

Salin selepas log masuk

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

Rentetan JSON dikembalikan oleh pelayan

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 eval( ) kaedah tidak diperlukan 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://www.xxxx.com/",{param:"gaoyusi"},function(data){ 
  //此处返回的data已经是json对象 
  //以下其他操作同第一种情况 
  $.each(data.root,function(idx,item){ 
    if(idx==0){ 
      //同countinue,返回false同break 
      return true;
    } 
    alert("name:"+item.name+",value:"+item.value); 
  }); 
}); 

Salin selepas log masuk

Apa yang memerlukan perhatian khusus di sini ialah kaedah eval() dalam kaedah 1 melaksanakan rentetan secara dinamik (mungkin skrip js), yang boleh menyebabkan isu keselamatan sistem dengan mudah. Oleh itu, anda boleh menggunakan beberapa perpustakaan skrip klien pihak ketiga yang memintas eval(). Contohnya, JSON dalam JavaScript menyediakan perpustakaan skrip tidak lebih daripada 3k.

Kaedah penghuraian kedua ialah menggunakan objek Fungsi Aplikasi tipikalnya ialah penghuraian data yang dikembalikan seperti kejayaan di bawah kaedah AJAX dalam JQuery.

var json='{"name":"CJ","age":18}';
data =(new Function("","return "+json))();

Salin selepas log masuk

Data pada masa ini ialah objek json yang akan dihuraikan.

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Petua praktikal untuk menukar huruf Inggeris lebar penuh kepada bentuk separuh lebar Petua praktikal untuk menukar huruf Inggeris lebar penuh kepada bentuk separuh lebar Mar 26, 2024 am 09:54 AM

Petua praktikal untuk menukar huruf Inggeris lebar penuh kepada bentuk separuh lebar Dalam kehidupan moden, kita sering bersentuhan dengan huruf Inggeris, dan kita sering perlu memasukkan huruf Inggeris apabila menggunakan komputer, telefon bimbit dan peranti lain. Walau bagaimanapun, kadangkala kita menemui huruf Inggeris lebar penuh, dan kita perlu menggunakan bentuk separuh lebar. Jadi, bagaimana untuk menukar huruf Inggeris lebar penuh kepada bentuk separuh lebar? Berikut adalah beberapa petua praktikal untuk anda. Pertama sekali, huruf dan nombor Inggeris lebar penuh merujuk kepada aksara yang menduduki kedudukan lebar penuh dalam kaedah input, manakala huruf dan nombor Inggeris separuh lebar menduduki kedudukan lebar penuh.

Penjelasan terperinci tentang kaedah pelaksanaan menukar bulan PHP kepada bulan Inggeris Penjelasan terperinci tentang kaedah pelaksanaan menukar bulan PHP kepada bulan Inggeris Mar 21, 2024 pm 06:45 PM

Artikel ini akan memperkenalkan secara terperinci cara menukar bulan dalam PHP kepada bulan Inggeris, dan memberikan contoh kod khusus. Dalam pembangunan PHP, kadangkala kita perlu menukar bulan digital kepada bulan Inggeris, yang sangat praktikal dalam beberapa pemprosesan tarikh atau senario paparan data. Prinsip pelaksanaan, contoh kod khusus dan langkah berjaga-jaga akan diterangkan secara terperinci di bawah. 1. Prinsip pelaksanaan Dalam PHP, anda boleh menukar bulan digital kepada bulan Bahasa Inggeris dengan menggunakan kelas DateTime dan kaedah format. Tarikh

Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON May 04, 2024 pm 06:15 PM

Kaedah pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON termasuk: menggunakan sambungan JSON dan fungsi json_encode() menambah pilihan JSON_UNESCAPED_UNICODE untuk mengelakkan aksara melarikan diri menggunakan penimbal untuk meningkatkan prestasi pengekodan JSON; Pustaka pengekodan JSON.

Bagaimana untuk menukar muzik qq kepada format mp3 Tukar muzik qq kepada format mp3 pada telefon mudah alih Bagaimana untuk menukar muzik qq kepada format mp3 Tukar muzik qq kepada format mp3 pada telefon mudah alih Mar 21, 2024 pm 01:21 PM

QQ Music membolehkan semua orang menikmati menonton filem dan menghilangkan kebosanan Anda boleh menggunakan perisian ini setiap hari untuk memenuhi keperluan anda dengan mudah Sebilangan besar lagu berkualiti tinggi tersedia untuk didengari oleh semua orang Lain kali anda mendengarnya, anda tidak memerlukan sambungan Internet Lagu yang dimuat turun di sini bukan dalam format MP3 dan tidak boleh digunakan pada platform lain Selepas lagu keahlian tamat, tiada cara untuk mendengarnya lagi , ramai rakan ingin menukar lagu ke dalam format MP3 Di sini editornya Anda sediakan kaedah supaya semua orang boleh menggunakannya! 1. Buka QQ Music pada komputer anda, klik butang [Menu Utama] di penjuru kanan sebelah atas, klik [Audio Transcoding], pilih pilihan [Tambah Lagu], dan tambah lagu yang perlu ditukar; lagu, klik untuk memilih Tukar kepada [mp3]

Analisis makna dan penggunaan titik tengah dalam PHP Analisis makna dan penggunaan titik tengah dalam PHP Mar 27, 2024 pm 08:57 PM

[Analisis makna dan penggunaan titik tengah dalam PHP] Dalam PHP, titik tengah (.) ialah operator yang biasa digunakan untuk menyambung dua rentetan atau sifat atau kaedah objek. Dalam artikel ini, kami akan menyelami makna dan penggunaan titik tengah dalam PHP, menggambarkannya dengan contoh kod konkrit. 1. Operator titik tengah rentetan Concatenate Penggunaan yang paling biasa dalam PHP adalah untuk menggabungkan dua rentetan. Dengan meletakkan . antara dua rentetan, anda boleh menyambungkannya untuk membentuk rentetan baharu. $string1=&qu

Bagaimana untuk menukar huruf Inggeris lebar penuh kepada huruf separuh lebar Bagaimana untuk menukar huruf Inggeris lebar penuh kepada huruf separuh lebar Mar 25, 2024 pm 02:45 PM

Cara menukar huruf Inggeris lebar penuh kepada huruf separuh lebar Dalam kehidupan harian dan kerja, kadangkala kita menghadapi situasi di mana kita perlu menukar huruf Inggeris lebar penuh kepada huruf separuh lebar, seperti semasa memasukkan kata laluan komputer, mengedit dokumen atau mereka bentuk susun atur. Huruf dan nombor Inggeris lebar penuh merujuk kepada aksara dengan lebar yang sama dengan aksara Cina, manakala huruf Inggeris separuh lebar merujuk kepada aksara dengan lebar yang lebih sempit. Dalam operasi sebenar, kita perlu menguasai beberapa kaedah mudah untuk menukar huruf Inggeris lebar penuh kepada huruf separuh lebar supaya kita boleh memproses teks dan nombor dengan lebih mudah. 1. Huruf Inggeris lebar penuh dan huruf Inggeris separuh lebar

Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? May 06, 2024 pm 10:09 PM

Anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahserilangan JSON: Pensirilan: @JsonIgnore: Abaikan harta @JsonProperty: Tentukan nama @JsonGetter: Gunakan kaedah get @JsonSetter: Gunakan kaedah yang ditetapkan Deserialization: @JsonIgnoreProperties: Abaikan harta @ JsonProperty: Nyatakan nama @JsonCreator: Gunakan pembina @JsonDeserialize: Logik tersuai

Tutorial PHP: Bagaimana untuk menukar jenis int kepada rentetan Tutorial PHP: Bagaimana untuk menukar jenis int kepada rentetan Mar 27, 2024 pm 06:03 PM

Tutorial PHP: Cara Menukar Jenis Int kepada Rentetan Dalam PHP, menukar data integer kepada rentetan adalah operasi biasa. Tutorial ini akan memperkenalkan cara menggunakan fungsi terbina dalam PHP untuk menukar jenis int kepada rentetan, sambil memberikan contoh kod khusus. Gunakan cast: Dalam PHP, anda boleh menggunakan cast untuk menukar data integer kepada rentetan. Kaedah ini sangat mudah Anda hanya perlu menambah (rentetan) sebelum data integer untuk menukarnya menjadi rentetan. Di bawah ialah kod contoh mudah

See all articles