由於JSON 中轉義單引號,jQuery.parseJSON 拋出「無效JSON」錯誤
問題:
問題:
問題:
問題:
問題:
題目:問題:
🎜 >使用jQuery.post() 從伺服器檢索JSON 物件時,如果任何值包含轉義單引號('),則解析失敗。即使 JSON 字串在其他方面有效,也會發生這種情況。
原因:
根據 JSON 規範,字串中只允許使用轉義雙引號,而不是單引號。根據 JSON 標準,單引號字元不需要轉義。
更新:Douglas Crockford 在「JavaScript:The Good Parts」中關於JSON 的討論中, JSON 的創建者解釋說,只允許轉義雙引號的決定是為了簡化互通性。通過僅要求使用雙引號,它消除了字串混亂和意外終止的可能性。 意義:這表示單引號字元是不可能的在 JSON 字串中意外終止該字串。因此,在正式的 JSON 規範中,轉義單引號字元是不必要的。 實現注意事項:雖然 JSON 規範不允許轉義單引號,但 bazı 實現,例如 org Java 的 .json 更加寬鬆並允許它們使用。然而,需要注意的是,這不是常態,許多流行的實現,包括 jQuery 使用的實現,都嚴格遵守官方 JSON 規範,並拒絕包含單引號字串和/或轉義單引號的 JSON。 jQuery.parseJSON 行為:jQuery.parseJSON 依賴瀏覽器提供的底層 JSON 解析器或載入的函式庫(如 json2.js)。由於這些實作通常符合 JSON 規範,因此它們不允許轉義單引號,因此 jQuery 也不允許。
以上是當存在轉義單引號時,為什麼 jQuery.parseJSON 會拋出「無效 JSON」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!