1. 如果JSON物件中有屬性是包含雙引號的,例如
程式碼如下:
程式碼如下:
程式碼如下:
{
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中的輪迴。夠麻煩吧,要小心一點。