首頁 > 後端開發 > php教程 > 儘管 JSON 有效,為什麼「json_decode()」回傳 NULL?

儘管 JSON 有效,為什麼「json_decode()」回傳 NULL?

Susan Sarandon
發布: 2024-11-28 16:12:15
原創
812 人瀏覽過

Why Does `json_decode()` Return NULL Despite Valid JSON?

json_decode() 與有效JSON:案例研究

嘗試使用json_decode() 解碼儲存在文字檔案中的JSON 物件時,可能JSON 物件時,可能會會出現這樣的情況:儘管JSON 對於JSON 驗證器來說是有效的,但函數仍傳回NULL。這可能會令人困惑,因為檔案是可讀的並且 JSON 語法似乎是正確的。

在這種情況下,建議檢查可能已滲入 JSON 字串的不可列印字元。這些字元可能會破壞解碼過程,導致 json_decode() 失敗。

要解決此問題,可以使用正規表示式對 JSON 字串進行清理,以刪除這些不可列印的字元。以下程式碼片段示範了這一點:

$json_string = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json_string);
$json_object = json_decode($json_string, true);
登入後複製

此程式碼將 $json_string 變數中的所有不可列印字元替換為空字串。 json_decode() 中的 true 參數確保解碼結果會作為關聯數組傳回,這可能會更方便進一步處理。

透過刪除不可列印的字符,可以成功解碼清理後的 JSON 字串,防止 json_decode() 返回 NULL。這確保了有效的 JSON 資料可以可靠地轉換為 PHP 資料結構以供進一步使用。

以上是儘管 JSON 有效,為什麼「json_decode()」回傳 NULL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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