Rumah > Artikel > hujung hadapan web > Bagaimana untuk menambah data json ke tatasusunan js dan perbezaan antara tatasusunan js dan kemahiran json_javascript
JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang menggunakan format teks bebas bahasa sepenuhnya JSON ialah format data asli JavaScript.
Berikut akan memperkenalkan dua cara untuk menambah data json pada tatasusunan js.
// Cara pertama
personInfo : [], for(var i = 0; i < _STAGE.passengerInfoArray.length; i++){ var name = _STAGE.passengerInfoArray[i]; var person = {v:name, text:name}; this.personInfo.push(person); }
// Cara kedua
var passengerInfo = {}; passengerInfo.psgTypeDesc = psgTypeDesc; passengerInfo.flightPrice = flightPrice; _STAGE.passengerInfoArray.push(passengerInfo);
Perbezaan antara tatasusunan js dan json
1, tatasusunan
1. Tentukan tatasusunan satu dimensi: var s1=tatasusunan baharu();
s1=[1,2,3,4] atau s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
makluman(s1[0]);
Hasilnya ialah 1;
2. Tentukan kumpulan elemen dua dimensi: var s1=new Array();
makluman(s1[1][0]);
1, objek json
var status_process = { " name5" : '闲置期', "name1" : '播种期', "name2" : '苗期', "name3" : '生长期', "name4" : '采收期' } alert(status_process);Hasilnya ialah: Objek:Objek;
2, rentetan json
Apa yang dipanggil rentetan json bermaksud bahawa nilai pembolehubah rentetan mempunyai format yang sama seperti json, tetapi bukan objek json, seperti:
var s1="{"; var s2 = " 'name5' : '闲置期', 'name1' : '播种期','name2' : '苗期','name3' : '生长期','name4' : '采收期'"; var s3="}"; var status_process=s1+s2 +s3;Walaupun nilai status_process mematuhi format objek json, ia bukan objek, ia hanyalah rentetan (disatukan
Tukar rentetan kepada objek json menggunakan fungsi eval, eval("(" status_process ")");
Kesimpulan: Apa yang dihantar dari latar belakang ke latar depan ialah rentetan json, bukan objek json sebenar, jadi ia perlu ditukar menggunakan fungsi eval.
3. Penggunaan objek json
var status_process = { name5 : '闲置期', name1 : '播种期', name2 : '苗期', name3 : '生长期', name4 : '采收期' }; alert(status_process["name5"]); alert(status_process.name5);Kedua-duanya ialah: tempoh terbiar
4.json objek dua dimensi
var status_process = { name5 : {name3:'空闲闲置期'}, name1 : '播种期', name2 : '苗期', name3 : '生长期', name4 : '采收期' }; alert(status_process["name5"]["name3"]); alert(status_process.name5.name3);Keputusannya ialah: 'Tempoh terbiar'