Maison >interface Web >js tutoriel >Soyez prudent lorsque vous utilisez des guillemets doubles dans les compétences JSON_javascript

Soyez prudent lorsque vous utilisez des guillemets doubles dans les compétences JSON_javascript

WBOY
WBOYoriginal
2016-05-16 16:56:551163parcourir

1. S'il y a des attributs dans l'objet JSON qui contiennent des guillemets doubles, tels que

Copiez le code Le code est le suivant :

{
"description": "25""
}

Si elle est convertie sous forme de chaîne, une barre oblique inverse sera ajoutée automatiquement et deviendra "25 "", Puis transmis à l'API REST et enregistré dans MongoDB.

Si vous utilisez le shell MongoDB pour afficher les données à ce moment-là, ce sera "25"", ce qui est correct.

2. Mais si vous utilisez le pilote C pour lire ceci valeur, vous obtiendrez "25"" , donc si vous le renvoyez directement au navigateur et utilisez jQuery.parseJSON() pour l'analyser, une erreur sera signalée.

Lors de la sérialisation du segment C dans une chaîne, vous devez porter un jugement et remplacer "par"
Copier le code<.> Le code est le suivant :
void string_to_json_string(std::string const& str, std::string & json_str) {
std::stringstream ss
for (size_t; je = 0; je < str.length(); je) {
if (str[i] == '"') {
ss << '\' << '"' ;
} else {
ss << str[i];
}
json_str =
}


3. Si après que JavaScript appelle jQuery.parseJSON() sur "25"", la barre oblique inverse a disparu et est devenue "25"". Si jQuery.pareseJSON est à nouveau appelé sur cette valeur d'attribut, une erreur se produira à nouveau.

JavaScript doit écrire du code pour éviter les erreurs :


removeDoubleQuotes: function(str) {
return str.replace(""", "\"");
>

C'est la réincarnation du double citations en JSON. C'est déjà assez gênant, soyez prudent.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn