Ralat Penyahkod JSON:
Walaupun lulus pengesahan melalui pemformat dalam talian, anda menghadapi ralat JSON_ERROR_SYNTAX semasa menyahkod data JSON menggunakan json_decode().
Aksara Tersembunyi dan JSON Tidak Sah:
Isu asas terletak pada aksara tersembunyi yang mungkin tidak kelihatan serta-merta dalam teks JSON. Aksara ini selalunya tidak kelihatan dan mengganggu sintaks JSON, menyebabkan penyahkod gagal.
Penyelesaian:
Untuk menangani isu ini, anda boleh melaksanakan kod berikut yang disediakan dalam jawapannya:
<code class="php">$json = file_get_contents("http://yourwebsite.com/JsonData"); // Remove unwanted characters for ($i = 0; $i <= 31; ++$i) { $json = str_replace(chr($i), "", $json); } $json = str_replace(chr(127), "", $json); // Handle UTF-8 BOM if (0 === strpos(bin2hex($json), 'efbbbf')) { $json = substr($json, 3); } $obj = json_decode($json);</code>
Kod ini mengalih keluar aksara yang tidak diingini, termasuk aksara kawalan dan UTF-8 BOM (0xef-0xbb-0xbf). Dengan mengalih keluar aksara ini, penyahkod dapat menghuraikan data JSON dengan betul.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat JSON_ERROR_SYNTAX Walaupun Lulus Pengesahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!