Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Tukar rentetan kepada javascript tatasusunan objek

Tukar rentetan kepada javascript tatasusunan objek

王林
Lepaskan: 2023-05-12 19:51:36
asal
3234 orang telah melayarinya

Dalam JavaScript, rentetan dan objek ialah dua jenis yang berbeza, dan data yang disimpannya juga sangat berbeza. Dalam pembangunan web, kita sering menghadapi situasi di mana kita perlu menukar rentetan kepada tatasusunan objek, seperti data JSON yang diperoleh daripada pelayan. Artikel ini akan memperkenalkan beberapa kaedah untuk menukar rentetan kepada tatasusunan objek.

Kaedah 1: Gunakan JSON.parse()

Dalam JavaScript, anda boleh menggunakan kaedah JSON.parse() untuk menukar rentetan dalam format JSON kepada objek atau tatasusunan. Prinsip kaedah JSON.parse() adalah untuk menghuraikan rentetan JSON ke dalam objek atau tatasusunan JavaScript.

Sebagai contoh, kami mempunyai rentetan JSON berikut:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Gunakan kaedah JSON.parse() untuk menukarnya kepada tatasusunan objek:

var jsonObjectArray = JSON.parse(jsonString);
Salin selepas log masuk

Kita boleh menggunakan penyataan gelung untuk lelaran ke atas Tatasusunan, keluarkan atribut setiap objek:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan eval()

eval() ialah fungsi dalam JavaScript yang boleh merawat rentetan masuk parameter sebagai JavaScript Kod dilaksanakan. Oleh itu, kita boleh menggunakan fungsi eval() untuk menukar rentetan berformat JSON kepada objek atau tatasusunan.

Sebagai contoh, kami mempunyai rentetan JSON berikut:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Gunakan fungsi eval() untuk menukarnya kepada tatasusunan objek:

var jsonObjectArray = eval("("+jsonString+")");
Salin selepas log masuk

Begitu juga, kita boleh menggunakan pernyataan gelung untuk mengulangi Array, mengeluarkan atribut setiap objek:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Perlu diingat bahawa fungsi eval() mungkin mempunyai risiko keselamatan dan tidak disyorkan untuk digunakan dalam persekitaran pengeluaran. kaedah JSON.parse() harus digunakan.

Kaedah 3: Gunakan pemisahan dan penggantian rentetan

Kaedah lama ialah menggunakan pemisahan dan penggantian rentetan untuk menukar rentetan kepada tatasusunan objek.

Sebagai contoh, kita mempunyai rentetan JSON berikut:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Mula-mula, kita perlu menggantikan koma yang digunakan untuk memisahkan objek dalam rentetan dengan koma bertitik dan pendakap dengan kurungan segi empat sama, mendapatkan A legal Pengisytiharan tatasusunan JavaScript:

jsonString = jsonString.replace(/}/g, '},');
jsonString = jsonString.replace(/,$/, '');
jsonString = jsonString.replace(/{/g, '[');
jsonString = jsonString.replace(/}/g, '}]');
Salin selepas log masuk

Kemudian, gunakan fungsi eval() untuk menukarnya menjadi tatasusunan objek:

var jsonObjectArray = eval(jsonString);
Salin selepas log masuk

Begitu juga, kita boleh menggunakan penyataan gelung untuk lelaran melalui tatasusunan dan output setiap Atribut objek:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Perlu diingat bahawa kaedah ini hanya sesuai untuk format JSON yang agak mudah Untuk format JSON bersarang dalam, kaedah ini akan gagal.

Ringkasan

Di atas ialah beberapa kaedah untuk menukar rentetan kepada tatasusunan objek. Dalam pembangunan sebenar, adalah disyorkan untuk menggunakan kaedah JSON.parse() untuk menukar rentetan berformat JSON kepada objek atau tatasusunan Ia sangat cekap dan selamat, dan lebih selaras dengan spesifikasi bahasa itu sendiri. Jika anda perlu menyokong versi penyemak imbas yang lebih lama, pertimbangkan untuk menggunakan fungsi eval() atau pemisahan dan penggantian rentetan.

Atas ialah kandungan terperinci Tukar rentetan kepada javascript tatasusunan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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