Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Saya Mendapat Sebatan Terbalik Tidak Dijangka dalam Output JSON Saya dengan json_encode?

Mengapakah Saya Mendapat Sebatan Terbalik Tidak Dijangka dalam Output JSON Saya dengan json_encode?

DDD
DDDasal
2024-11-27 01:54:10904semak imbas

Why Am I Getting Unexpected Backslashes in My JSON Output with json_encode?

Serikan Belakang Tidak Dijangka dalam Output JSON dengan json_encode

Semasa bekerja dengan json_encode untuk mengembalikan data JSON selepas muat naik fail, pengguna tertentu telah menemui penambahan garis miring ke belakang yang tidak perlu dalam output. Untuk menyelidiki isu ini, mari kita pecahkan masalah:

Coretan kod awal, yang menghasilkan JSON yang sah:

print_r($result);
echo json_encode($result);

Walau bagaimanapun, setelah pemeriksaan lanjut melalui data.toSource(), ia adalah mendedahkan bahawa JSON tidak sah sedang dihasilkan, dengan garis miring ke belakang ditambah dan maklumat tambahan (mis., status:200) dilampirkan.

Punca Isu

Sengkang ke belakang tambahan dan maklumat luar mungkin diperkenalkan oleh proses di luar json_encode itu sendiri. Adalah dihipotesiskan bahawa fungsi Plupload bind mungkin memanipulasi data yang dikembalikan dalam beberapa cara.

Penyelesaian

Untuk menyelesaikan isu ini, disyorkan untuk memasukkan pilihan "JSON_UNESCAPED_SLASHES" apabila menggunakan json_encode. Pilihan ini, yang diperkenalkan dalam PHP versi 5.4 dan lebih baru, menghalang garis miring ke belakang daripada ditambahkan tanpa perlu. Kod yang diperbetulkan:

json_encode($array, JSON_UNESCAPED_SLASHES);

Atas ialah kandungan terperinci Mengapakah Saya Mendapat Sebatan Terbalik Tidak Dijangka dalam Output JSON Saya dengan json_encode?. 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