Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `json_decode` Mengembalikan NULL Walaupun Data JSON Nampak Sah?

Mengapakah `json_decode` Mengembalikan NULL Walaupun Data JSON Nampak Sah?

DDD
Lepaskan: 2024-12-12 22:19:11
asal
951 orang telah melayarinya

Why Does `json_decode` Return NULL Despite Valid-Looking JSON Data?

Memahami Isu Penyahkodan JSON dalam Panggilan Perkhidmatan Web

Dalam interaksi perkhidmatan web, kadangkala, fungsi json_decode mengembalikan NULL. Isu mengelirukan timbul apabila perkhidmatan web menyediakan data JSON yang menyerupai:

var_dump($foo):
string(62) "{"action":"set","user":"123123123123","status":"OK"}"
Salin selepas log masuk

Walau bagaimanapun, percubaan untuk menyahkod JSON dalam aplikasi mengembalikan NULL:

$data = json_decode($foo, true);
var_dump($data):
NULL
Salin selepas log masuk

Menyelesaikan Masalah

Satu punca yang berpotensi untuk isu ini ialah kefungsian petikan ajaib PHP. Petikan ajaib secara automatik melepaskan aksara khas dalam data borang, yang berpotensi mengganggu penghuraian JSON. Untuk menyelesaikan masalah ini:

if (get_magic_quotes_gpc()) {
  $param = stripslashes($_POST['param']);
} else {
  $param = $_POST['param'];
}
$param = json_decode($param, true);
Salin selepas log masuk

Dengan melumpuhkan petikan ajaib atau menanggalkan garis miring daripada data JSON, aplikasi boleh menyahkod JSON dengan tepat dan mendapatkan maklumat yang diingini.

Atas ialah kandungan terperinci Mengapakah `json_decode` Mengembalikan NULL Walaupun Data JSON Nampak Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan