Melepaskan Garis Miring Hadapan dalam json_encode()
Apabila bekerja dengan data JSON dalam PHP, anda mungkin menghadapi situasi di mana garis miring ke hadapan ("/ ") sedang dilarikan menggunakan json_encode(). Ini boleh berlaku apabila menarik data JSON daripada sumber luaran dan menghuraikannya ke dalam tatasusunan untuk penstrukturan semula. Garis miring ke hadapan yang terlepas boleh menjejaskan integriti data jika dibiarkan tanpa diubah suai.
Untuk melumpuhkan gelagat melarikan diri ini, PHP 5.4 dan ke atas menyediakan bendera JSON_UNESCAPED_SLASHES. Dengan menambahkan bendera ini pada fungsi json_encode() anda, anda boleh menghalang pelepasan automatik garis miring ke hadapan.
$results = json_encode($results, JSON_UNESCAPED_SLASHES);
Pengubahsuaian ini akan memastikan bahawa garis miring ke hadapan dalam data JSON anda kekal tidak terlepas, mengekalkan integriti data walaupun selepas caching fail.
Penting Nota:
Sebelum menggunakan JSON_UNESCAPED_SLASHES, adalah penting untuk memahami implikasinya. Bendera ini tidak boleh digunakan dalam konteks web/HTML kerana ia boleh menimbulkan risiko keselamatan. Walau bagaimanapun, ia mungkin boleh digunakan dalam persekitaran komunikasi CLI atau bukan HTTP JSON. Jika melepaskan garis miring ke hadapan adalah penting untuk kebolehbacaan dalam aplikasi web/HTML, pertimbangkan untuk menggunakan kaedah alternatif untuk mengendalikannya.
Contoh:
Pertimbangkan contoh berikut, di mana data JSON diambil dan dihuraikan:
$instagrams = json_decode($response)->data;
Selepas penstrukturan semula, data dikodkan semula dan cache:
file_put_contents($cache, json_encode($results));
Fail cache yang terhasil akan mengandungi garis miring ke hadapan yang terlepas tanpa JSON_UNESCAPED_SLASHES. Walau bagaimanapun, menambah bendera pada fungsi json_encode() akan mengekalkan garis miring ke hadapan tanpa dilepaskan:
file_put_contents($cache, json_encode($results, JSON_UNESCAPED_SLASHES));
Dengan memahami dan menggunakan bendera JSON_UNESCAPED_SLASHES, anda boleh mengawal kelakuan melarikan diri dari garis miring ke hadapan dalam data JSON, memastikan ia integriti dan mengelakkan potensi rasuah data.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Melarikan Slash Hadapan dalam `json_encode()` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!