首頁 > web前端 > js教程 > 主體

JSON中雙引號的輪迴使用過程中一定要小心_javascript技巧

WBOY
發布: 2016-05-16 16:56:55
原創
1118 人瀏覽過

1. 如果JSON物件中有屬性是包含雙引號的,例如

複製程式碼 程式碼如下:


程式碼如下:


程式碼如下:



程式碼如下:


{
"description": "25"" } 如果轉換成字串形式,將自動加上反斜線,變成"25"",然後傳遞給REST API,儲存到MongoDB中。 此時如果使用MongoDB的shell顯示該數據,為"25"", 正確。
2. 但是如果用C driver讀取這個值是,則得到"25"" , 因此如果將它直接回到瀏覽器端,用jQuery.parseJSON()來解析就會報錯。

C 段序列化成字串的時候需要判斷一下,將"替換成".




複製程式碼



複製程式碼


程式碼如下:

void string_to_json_string(std::string const& str, std::string & json_str) { std::stringstream ss; for (size); if (str[i] == '"') { ss } else { ss }
}
json_str = ss.str();
}

3. 如果JavaScript對"25""" jQuery.parseJSON()之後,反斜線已經消失,又變成"25"". 如果再次對該屬性值呼叫jQuery.pareseJSON則又會出錯。
JavaScript必須寫代碼防止錯誤: 複製代碼 代碼如下: removeDoubleQuotes: function(str) { return str.replace(""", "\""); }, 這就是雙引號在JSON中的輪迴。夠麻煩吧,要小心一點。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板