jQuery.parseJSON 錯誤:由於轉義單引號導致「無效JSON」
jQuery.parseJSON 在解析帶有轉義單引號的JSON 物件時遇到困難(')。此行為源自於 JSON 規範嚴格遵守在字串中使用雙引號。
根據 JSON 狀態機圖,完全轉義或避免單引號是必要的。單引號不是有效的字串分隔符,因此無需轉義。
JSON 的架構師 Douglas Crockford 認為,這種限制源自於 JSON 的簡約設計。更少的規則透過減少相容性問題的可能性來增強互通性。僅使用雙引號可以消除意外用單引號終止字串的可能性。
儘管有此限制,但某些 JSON 實作(例如 org.json)允許單引號以獲得更大的寬容度。這些實作將字串中的轉義單引號解釋為轉義雙引號。
但是,jQuery 依賴底層本機 JSON 解析器或 JSON 函式庫來驗證 JSON 資料。不幸的是,這些底層工具通常具有更多限制,並且不接受轉義的單引號。因此,jQuery 無法解析包含單引號的 JSON 數據,從而導致「無效 JSON」錯誤。
以上是當存在轉義單引號時,為什麼 jQuery.parseJSON 會拋出「無效 JSON」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!