国产探花免费观看_亚洲丰满少妇自慰呻吟_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中的輪回。夠麻煩吧,要小心點。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 蒙山县| 京山县| 肥东县| 农安县| 讷河市| 新邵县| 惠来县| 西藏| 沙雅县| 瑞安市| 临漳县| 吴堡县| 新野县| 乳源| 田林县| 平遥县| 昆明市| 徐州市| 新龙县| 建湖县| 迁西县| 泰州市| 吉水县| 秭归县| 内江市| 利川市| 娱乐| 古浪县| 德化县| 德钦县| 宣汉县| 东平县| 长子县| 玛纳斯县| 临安市| 莒南县| 固始县| 曲靖市| 重庆市| 云龙县| 赤水市|