Cara pertama:
Gunakan fungsi js eval();
testJson=eval(testJson); ialah kaedah penukaran yang salah.
Kaedah penukaran yang betul memerlukan penambahan (): testJson = eval("(" testJson ")");
eval() sangat pantas, tetapi ia boleh menyusun dan melaksanakan sebarang program javaScript, jadi akan ada isu keselamatan. Menggunakan eval(). Sumber mesti boleh dipercayai. Perlu menggunakan parser json yang lebih selamat. Jika pelayan tidak mengekod json dengan ketat atau jika input tidak disahkan dengan ketat, adalah mungkin untuk menyediakan json yang tidak sah atau mengandungi skrip berbahaya, laksanakan skrip dalam eval(), dan keluarkan kod berniat jahat.
kod js:
fungsi ConvertToJsonForJs() {
//var testJson = "{ nama: 'Xiaoqiang', umur: 16 }"; (Disokong)
//var testJson = "{ 'nama': 'Xiaoqiang', 'umur': 16 }"; (Disokong)
var testJson = '{ "nama": "Xiaoqiang", "umur": 16 }';
//testJson=eval(testJson);//Kaedah penukaran yang salah
testJson = eval("(" testJson ")");
alert(testJson.name);
}
Kaedah kedua menggunakan kaedah jquery.parseJSON(), yang mempunyai keperluan yang lebih tinggi pada format json dan mesti mematuhi format json
jquery.parseJSON()
js:kod
fungsi ConvertToJsonForJq() {
var testJson = '{ "nama": "Xiaoqiang", "umur": 16 }';
// Tidak tahu
//'{ nama: "Xiaoqiang", umur: 16 }' (nama tidak dibungkus dengan petikan berganda)
//"{ 'nama': "Xiaoqiang", 'umur': 16 }" (nama menggunakan petikan tunggal)
testJson = $.parseJSON(testJson);
alert(testJson.name);
}
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