PHP json_decode() 在提供看似有效的JSON 時返回NULL:解決方案
當嘗試解碼以純文本形式存儲的JSON物件時使用PHP 的json_decode() 函數讀取檔案時,有些使用者遇到了以下問題:儘管JSON看起來有效,但函數傳回 NULL針對 JSON 驗證器進行測試。
檢查提供的程式碼片段,JSON 物件顯示格式良好。但是,該檔案可能包含不可見字元或非 UTF-8 字符,這些字符可能會幹擾解碼過程。
為了解決此問題,使用者建議的解決方案包括使用 PHP 的 preg_replace() 函數從 JSON 字串中刪除所有非 UTF-8 字元。修改後的程式碼如下所示:
此正規表示式將用空字串替換 UTF-8 字符範圍之外的任何字符,確保 JSON 字串僅包含有效字符。
透過套用此修改,PHP 的 json_decode() 函數應該能夠成功解碼 JSON 物件並傳回表示 JSON 資料的 PHP 物件或陣列。據報道,此解決方案對於許多面臨此問題的用戶來說可以有效地工作。
以上是為什麼 PHP 的 `json_decode()` 看似有效的 JSON 回傳 NULL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!