Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat Ralat JSON_ERROR_SYNTAX Walaupun Lulus Pengesahan?

Mengapa Saya Mendapat Ralat JSON_ERROR_SYNTAX Walaupun Lulus Pengesahan?

Linda Hamilton
Lepaskan: 2024-10-22 22:13:02
asal
247 orang telah melayarinya

Why Am I Getting a JSON_ERROR_SYNTAX Error Despite Passing Validation?

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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan