1. JSON オブジェクトに
{
"description": "25""
}
文字列形式に変換すると、自動的にバックスラッシュが付加されて「25」となります""、次にそれを REST API に渡し、MongoDB に保存します。
この時点で MongoDB シェルを使用してデータを表示すると、「25」になります。これは正しいです。
2. ただし、C ドライバーを使用してこれを読み取る場合は、この値をブラウザに直接返し、 jQuery.parseJSON() を使用して解析すると、エラーが報告されます。
セグメント C を文字列にシリアル化する場合、
void string_to_json_string(std::string const& str, std::string & json_str) {
std::stringstream ss; i = 0; i < str.length(); i) {
if (str[i] == '"') {
s << '\' << '"' ;
} else {
ss <<
}
}
json_str =
}
; 🎜>3. JavaScript が "25"" で jQuery.parseJSON() を呼び出した後、バックスラッシュが消えて "25"" に変更された場合、属性値に対して再度 jQuery.parseJSON を呼び出すと、再びエラーが発生します。
JavaScript はエラーを防ぐコードを記述する必要があります:
return str.replace(""", "\"");
},
これは double の生まれ変わりです。 JSON での引用符。かなり面倒なので気をつけてください。