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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:02:08
字體:
來源:轉載
供稿:網友
如果JSON對象中有屬性是包含雙引號當轉換成字符串形式,將自動加上反斜線,詳細請祥看本文

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中的輪回。夠麻煩吧,要小心點。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 习水县| 公安县| 连城县| 交城县| 嘉祥县| 灌阳县| 唐海县| 嘉鱼县| 克什克腾旗| 秭归县| 瑞安市| 海伦市| 金秀| 岳普湖县| 鄱阳县| 分宜县| 哈尔滨市| 家居| 芮城县| 炉霍县| 视频| 石狮市| 潜山县| 武夷山市| 灌阳县| 龙山县| 丰都县| 江北区| 新绛县| 抚宁县| 子洲县| 石泉县| 民县| 海林市| 中阳县| 万载县| 麻栗坡县| 长治县| 苏尼特左旗| 贵溪市| 平和县|