Rumah > Artikel > hujung hadapan web > Bagaimana untuk Menghuraikan JSON Santai Dengan Selamat Tanpa Menggunakan `eval`?
Menghuraikan JSON Santai Dengan Selamat
Menghuraikan JSON "santai" tanpa menggunakan fungsi eval yang berpotensi berbahaya adalah cabaran biasa apabila bekerja dengan data JSON yang mungkin tidak mematuhi sintaks JSON yang ketat. Walaupun JSON.parse() memerlukan kunci untuk dipetik, sesetengah senario memerlukan menghuraikan JSON dengan kunci tidak disebut untuk kemudahan atau sebab warisan.
Satu pendekatan untuk mengendalikan JSON "santai" dengan selamat ialah membersihkan JSON sebelum menghuraikannya. Menggunakan penggantian ungkapan biasa, anda boleh menukar kunci yang tidak disebut petikan kepada kunci yang dipetik sambil mengekalkan struktur JSON yang lain.
var badJson = "{muh: 2}"; var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"": ');
Dalam contoh ini, ungkapan biasa mencari kunci tidak disebut yang dikelilingi oleh petikan tunggal atau berganda pilihan , diikuti dengan kolon. Ia kemudian menggantikan padanan dengan sintaks kunci yang dipetik yang betul, memastikan rentetan JSON kini memenuhi format JSON yang betul.
Setelah rentetan JSON dibersihkan, anda boleh menghuraikannya dengan selamat menggunakan JSON.parse():
JSON.parse(correctJson);
Kaedah ini membolehkan anda menghuraikan JSON "santai" dengan kunci yang tidak dipetik sambil mengekalkan keselamatan dan kebolehpercayaan penghuraian JSON tanpa memerlukan penghurai tersuai atau teknik tidak selamat seperti eval.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan JSON Santai Dengan Selamat Tanpa Menggunakan `eval`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!