首頁 >web前端 >js教程 >以下是幾個根據你提供的文章內容產生的英文問答類標題: 1. Why does jQuery.parseJSON() throw an \'Invalid JSON\' error when there are escaped single quotes in the JSON? 2. Is it allowed to escape single quotes in a JSO

以下是幾個根據你提供的文章內容產生的英文問答類標題: 1. Why does jQuery.parseJSON() throw an \'Invalid JSON\' error when there are escaped single quotes in the JSON? 2. Is it allowed to escape single quotes in a JSO

Linda Hamilton
Linda Hamilton原創
2024-11-01 13:34:02602瀏覽

以下是几个根据你提供的文章内容生成的英文问答类标题:

1. Why does jQuery.parseJSON() throw an

jQuery.parseJSON拋出「無效的JSON」錯誤,原因是JSON中轉義單引號

jQuery.parseJSON()無法解析包含轉義單引號的有效JSON字串。這是正常的,因為JSON規範只允許轉義雙引號。

JSON規格

如下圖示,JSON狀態機圖表示只允許轉義雙引號,不允許單引號。

[圖片:JSON狀態機]

JSON實作

儘管規範不允許轉義單引號,但一些JSON實作可能會接受它們。例如,org.json for Java允許單引號,而jQuery使用的json2.js則遵循規範,不允許。

jQuery.parseJSON

jQuery.parseJSON首先嘗試使用瀏覽器原生JSON解析器或json2.js,因此它只允許與底層實作一樣寬鬆。由於json2.js遵從規範,因此jQuery也不允許單引號。

parseJSON: function( data ) {
    ...

    // Attempt to parse using the native JSON parser first
    if ( window.JSON && window.JSON.parse ) {
        return window.JSON.parse( data );
    }

    ...

    jQuery.error( "Invalid JSON: " + data );
},

結論

為了避免使用jQuery.parseJSON解析時出錯,避免在JSON字串中使用單引號,或轉而使用接受單引號實現的JSON庫。

以上是以下是幾個根據你提供的文章內容產生的英文問答類標題: 1. Why does jQuery.parseJSON() throw an \'Invalid JSON\' error when there are escaped single quotes in the JSON? 2. Is it allowed to escape single quotes in a JSO的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn