首頁 > 後端開發 > php教程 > 儘管來自我的 Web 服務的 JSON 回應看似有效,但為什麼我的 JSON 解碼回傳 NULL?

儘管來自我的 Web 服務的 JSON 回應看似有效,但為什麼我的 JSON 解碼回傳 NULL?

Susan Sarandon
發布: 2024-12-04 05:08:14
原創
819 人瀏覽過

Why is my JSON Decode Returning NULL Despite a Seemingly Valid JSON Response from my Web Service?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板