Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membetulkan JSON_ERROR_SYNTAX Apabila Menyahkod Isu Aksara Tersembunyi?
JSON_ERROR_SYNTAX: Temui Isu Watak Tersembunyi
Apabila menghadapi ralat JSON_ERROR_SYNTAX yang membingungkan semasa menyahkod JSON menggunakan json_decodeance(), walaupun dalam format asterssurance bahawa JSON adalah sah, adalah penting untuk mencari aksara tersembunyi.
Fungsi json_decode() PHP adalah ketat dan akan menolak JSON dengan sebarang ralat sintaks, termasuk aksara kawalan yang tidak kelihatan atau pengekodan UTF-8 yang tidak sah. Untuk menyelesaikan isu ini, laksanakan kod berikut:
<code class="php">for ($i = 0; $i <= 31; ++$i) { $data = str_replace(chr($i), "", $data); } $data = str_replace(chr(127), "", $data);</code>
Gelung ini menghapuskan aksara kawalan (kod ASCII 0-31 dan 127). Selain itu, semak untuk "tanda pesanan bait" (0xEF 0xBB 0xBF) yang mungkin mengawali JSON dan buangnya:
<code class="php">if (0 === strpos(bin2hex($data), 'efbbbf')) { $data = substr($data, 3); }</code>
Selepas membersihkan data JSON, nyahkodkannya menggunakan json_decode(). Pendekatan komprehensif ini akan menyelesaikan banyak kejadian ralat JSON_ERROR_SYNTAX, memberikan pengalaman penyahkodan yang lebih bermakna.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan JSON_ERROR_SYNTAX Apabila Menyahkod Isu Aksara Tersembunyi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!