欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSON中雙引號(hào)的輪回使用過(guò)程中一定要小心

 更新時(shí)間:2014年03月05日 17:03:08   作者:  
如果JSON對(duì)象中有屬性是包含雙引號(hào)當(dāng)轉(zhuǎn)換成字符串形式,將自動(dòng)加上反斜線(xiàn),詳細(xì)請(qǐng)祥看本文
1. 如果JSON對(duì)象中有屬性是包含雙引號(hào)的,比如
復(fù)制代碼 代碼如下:

{
"description": "25""
}

如果轉(zhuǎn)換成字符串形式,將自動(dòng)加上反斜線(xiàn),變?yōu)?25\"", 然后傳遞給REST API,保存到MongoDB中。

此時(shí)如果使用MongoDB的shell顯示該數(shù)據(jù),為"25\"", 正確。

2. 但是如果用C++ driver讀取這個(gè)值是,則得到"25"", 因此如果將它直接返回到瀏覽器端,用jQuery.parseJSON()來(lái)解析就會(huì)報(bào)錯(cuò)。

C++段序列化成字符串的時(shí)候需要判斷一下,將"替換成\".
復(fù)制代碼 代碼如下:

void string_to_json_string(std::string const& str, std::string & json_str) {
std::stringstream ss;
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] == '"') {
ss << '\\' << '\"';
} else {
ss << str[i];
}
}
json_str = ss.str();
}

3. 如果JavaScript對(duì)"25\""調(diào)用jQuery.parseJSON()之后,反斜線(xiàn)已經(jīng)消失,又變?yōu)?25"". 如果再次對(duì)該屬性值調(diào)用jQuery.pareseJSON則又會(huì)出錯(cuò)。

JavaScript必須寫(xiě)代碼防止錯(cuò)誤:
復(fù)制代碼 代碼如下:

removeDoubleQuotes: function(str) {
return str.replace("\"", "\\\"");
},

這就是雙引號(hào)在JSON中的輪回。夠麻煩吧,要小心點(diǎn)。

相關(guān)文章

  • javascript動(dòng)畫(huà)之磁性吸附效果篇

    javascript動(dòng)畫(huà)之磁性吸附效果篇

    在實(shí)際應(yīng)用中,常常需要為拖拽的元素限定范圍。而通過(guò)限定范圍,再增加一些輔助的措施,就可以實(shí)現(xiàn)磁性吸附的效果。本文將詳細(xì)介紹javascript的磁性吸附,有需要的朋友可以參考借鑒。
    2016-12-12
  • js編寫(xiě)的treeview使用方法

    js編寫(xiě)的treeview使用方法

    這篇文章主要為大家詳細(xì)介紹了js編寫(xiě)的treeview使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 前端開(kāi)發(fā)必須知道的JS之閉包及應(yīng)用

    前端開(kāi)發(fā)必須知道的JS之閉包及應(yīng)用

    本文講的是函數(shù)閉包,不涉及對(duì)象閉包(如用with實(shí)現(xiàn))。如果你覺(jué)得我說(shuō)的有偏差,歡迎拍磚,歡迎指教。
    2010-07-07
  • XMLHTTPRequest的屬性和方法簡(jiǎn)介

    XMLHTTPRequest的屬性和方法簡(jiǎn)介

    由于現(xiàn)在在公司負(fù)責(zé)制作標(biāo)準(zhǔn)的靜態(tài)頁(yè)面,為了增強(qiáng)客戶(hù)體驗(yàn),所以經(jīng)常要做些AJAX效果,也許你也和我一樣在,學(xué)習(xí)AJAX。
    2010-11-11
  • Bootstrap入門(mén)教程一Hello Bootstrap初識(shí)

    Bootstrap入門(mén)教程一Hello Bootstrap初識(shí)

    Bootstrap,來(lái)自 Twitter,是目前很受歡迎的前端框架。Bootstrap是基于 HTML5、CSS3和Javascriopt開(kāi)發(fā)的。這篇文章主要介紹了基于Bootstrap3實(shí)現(xiàn)漂亮簡(jiǎn)潔的CSS3價(jià)格表(精美代碼版),需要的朋友可以參考下
    2017-03-03
  • JavaScript中變量提升和函數(shù)提升實(shí)例詳解

    JavaScript中變量提升和函數(shù)提升實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于JavaScript中變量提升和函數(shù)提升的相關(guān)資料,以及JS變量提升和函數(shù)提升的順序,文中給出了詳細(xì)的介紹,需要的朋友可以參考下
    2021-07-07
  • js實(shí)現(xiàn)連個(gè)數(shù)字相加而不是拼接的方法

    js實(shí)現(xiàn)連個(gè)數(shù)字相加而不是拼接的方法

    這篇文章主要介紹了js如何實(shí)現(xiàn)連個(gè)數(shù)字相加而不是拼接,需要的朋友可以參考下
    2014-02-02
  • javascript 常用驗(yàn)證函數(shù)總結(jié)

    javascript 常用驗(yàn)證函數(shù)總結(jié)

    隨著做項(xiàng)目數(shù)量的越來(lái)越越多,其中用到j(luò)s的地方很多相同,這里自己整理了一些常用表單驗(yàn)證的js方法,雖然和其他js驗(yàn)證框架有一定的差距,但是畢竟是自己總結(jié)的一些東西,在此與紀(jì)錄分享一下。
    2016-06-06
  • kindeditor修復(fù)會(huì)替換script內(nèi)容的問(wèn)題

    kindeditor修復(fù)會(huì)替換script內(nèi)容的問(wèn)題

    這里給大家分享的是個(gè)人修改的kindeditor的代碼,主要是修復(fù)了一些BUG,添加了些常用功能,推薦給大家,有需要的小伙伴可以參考下。
    2015-04-04
  • 解決webpack多頁(yè)面內(nèi)存溢出的方法示例

    解決webpack多頁(yè)面內(nèi)存溢出的方法示例

    這篇文章主要介紹了解決webpack多頁(yè)面內(nèi)存溢出的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論