Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Saya Mendapat Sebatan Terbalik Tidak Dijangka dalam Output JSON Saya dengan 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!