JSON 解碼失敗,Web 服務返回空白回應
在Web 服務應用程式中使用json_encode 和json_decode 處理🎜>在Web 服務應用程式中使用json_encode 和json_decode 處理JSON 資料時出現特殊問題。 Web 服務以以下格式傳回JSON:
var_dump($foo): string(62) "{"action":"set","user":"123123123123","status":"OK"}"
嘗試使用以下程式碼在客戶端應用程式中解碼JSON:
$data = json_decode($foo, true)
結果令人驚訝地為null:
var_dump($data): NULL
此問題背後的一個潛在原因在於伺服器上的PHP 魔術引號配置。在 5.4 之前的 PHP 版本中,魔術引號會自動轉義表單提交中的某些字符,包括 JSON 輸入。要解決此問題,請使用以下程式碼停用魔術引號:
if(get_magic_quotes_gpc()){ $param = stripslashes($_POST['param']); }else{ $param = $_POST['param']; } $param = json_decode($param,true);
這應該可以解決問題並允許 json_decode 按預期返回預期的 JSON 物件。
以上是儘管來自我的 Web 服務的 JSON 回應看似有效,但為什麼我的 JSON 解碼回傳 NULL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!