Menghuraikan data JSON yang mengikuti sintaks "santai" dengan kekunci yang tidak dipetik memberikan cabaran, terutamanya apabila bertujuan untuk mengelakkan penggunaan eval yang berpotensi berbahaya.
Satu penyelesaian ialah menggunakan pengganti ekspresi biasa untuk membersihkan rentetan JSON. Dengan menggantikan pasangan nilai kunci yang tidak disebut dengan nilai yang setara, kami boleh mencipta rentetan JSON yang mematuhi sintaks standard.
Pertimbangkan contoh berikut:
var badJson = "{muh: 2}"; // Sanitize the JSON using regular expression var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"": '); // Now we can safely parse the corrected JSON JSON.parse(correctJson);
Pendekatan ini membolehkan kami untuk menghuraikan data JSON "santai" tanpa menjejaskan keselamatan atau mencetuskan amaran JSHint, menyediakan alternatif yang mudah dan selamat untuk eval untuk tujuan ujian anda.
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menghuraikan JSON 'Relaxed' Tanpa Menggunakan `eval`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!