Rumah  >  Artikel  >  hujung hadapan web  >  Tiga cara untuk menghuraikan data JSON dalam kemahiran JavaScript_javascript

Tiga cara untuk menghuraikan data JSON dalam kemahiran JavaScript_javascript

WBOY
WBOYasal
2016-05-16 15:51:441241semak imbas

Ikhtisar

Kini, format JSON semakin mendapat perhatian dalam pembangunan web Terutamanya dalam proses menggunakan ajax untuk membangunkan projek, selalunya perlu untuk mengembalikan rentetan format json ke bahagian hadapan, dan bahagian hadapan menghuraikannya ke dalam JS. objek (JSON).
Konsep JSON tidak ditulis ke dalam standard dalam ECMA-262 (E3 Nasib baik, konsep JSON telah diperkenalkan secara rasmi dalam ECMA-262 (E5), termasuk objek JSON global dan kaedah Date's toJSON.
Tiga cara untuk menghuraikan data JSON

kaedah eval()

Cara yang paling biasa untuk menghuraikan data JSON ialah menggunakan kaedah javascript eval(), kodnya adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

fungsi kepadaJson(str){
var json = eval('(' str ')');
kembalikan json;
}

Kaedah ini mempunyai masalah prestasi dan keselamatan dan tidak disyorkan.
kaedah Fungsi baharu
Salin kod Kod adalah seperti berikut:

fungsi kepadaJson(str){
var json = (Fungsi baharu("return " str))();
kembalikan json;
}

Kaedah JSON.parse()
Kaedah ini hanya menyokong IE8/Firefox3.5/Chrome4/Safari4/Opera10 dan ke atas penyemak imbas ini hampir dengan standard W3C dan melaksanakan kaedah toJSON secara lalai.
Salin kod Kod adalah seperti berikut:

fungsi kepadaJson(str){
kembalikan JSON.parse(str);
}

json2.js akan menggunakan versi asli apabila penyemak imbas menyokong JSON.parse secara asli, dan ia serasi dengan API dengan ES5. Dalam situasi semasa di mana ES5 belum lagi dipopularkan sepenuhnya, John Resig mengesyorkan menggunakan json2.js terutamanya supaya anda boleh menggunakan API yang serasi dengan ES5 sekarang dan beralih ke ES5 dengan lancar pada masa hadapan - hanya alih keluar import dan tukar.
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