国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JSON中雙引號的輪回使用過程中一定要小心

2019-11-20 20:59:36
字體:
來源:轉載
供稿:網友
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_t i = 0; i < str.length(); ++i) {
if (str[i] == '"') {
ss << '//' << '/"';
} else {
ss << str[i];
}
}
json_str = ss.str();
}

3. 如果JavaScript對"25/""調用jQuery.parseJSON()之后,反斜線已經消失,又變為"25"". 如果再次對該屬性值調用jQuery.pareseJSON則又會出錯。

JavaScript必須寫代碼防止錯誤:
復制代碼 代碼如下:

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

這就是雙引號在JSON中的輪回。夠麻煩吧,要小心點。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德惠市| 黄陵县| 峨边| 正定县| 淮南市| 灵丘县| 突泉县| 内黄县| 麻栗坡县| 徐州市| 安庆市| 澳门| 樟树市| 安远县| 中阳县| 西丰县| 眉山市| 麻城市| 新化县| 甘德县| 苍南县| 双流县| 连江县| 肇庆市| 诸城市| 古田县| 溧水县| 彰化市| 巴东县| 梧州市| 姚安县| 宁明县| 宝应县| 桑植县| 海安县| 平潭县| 万载县| 永嘉县| 明水县| 颍上县| 上饶市|