Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya Boleh Menghuraikan JSON \'Relaxed\' Tanpa Menggunakan `eval`?

Bagaimanakah saya Boleh Menghuraikan JSON \'Relaxed\' Tanpa Menggunakan `eval`?

Susan Sarandon
Susan Sarandonasal
2024-11-03 21:11:02411semak imbas

How Can I Parse

Menghuraikan JSON "Relaxed" Tanpa Menghilangkan eval

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!

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