- Je recevoir une réponse JSON dans une requête Ajax à partir du serveur. De cette manière, il fonctionne:
{ "a" : "1", "b" : "bonjour kitty"" }
Mais je n'ai pas réussi à mettre des guillemets autour de kitty.
Quand je convertir "à \x22 dans l'Ajax de réponse, il est toujours interprété comme" en JavaScript et je ne peut pas analyser le JSON.
Dois-je aussi échapper à l' \ et ne pas encoder plus tard (ce qui serait possible)?
Comment faire cela?
Edit: je ne sais pas si je m'exprime bien: je veux cette chaîne à l'intérieur de "b" après l'analyse:
bonjour "kitty"
Si nécessaire, je pourrais ajouter une étape supplémentaire après le parser pour le convertir en "b", mais je suppose qu'il n'est pas nécessaire, il y a un moyen plus élégant si cela se fait automatiquement?
Edit2: L'ajax page est généré par php. J'ai essayé plusieurs choses à créer de la valeur de b, tous les résultats en JSON parse error sur la page:
$b = 'hello "kitty"';
// no 1:
//$b = str_replace('"',"\x22",$b);
// or no 2:
// $b = addslashes($b);
// or no 3:
$b = str_replace('"','\"',$b);
echo '{ "a" : "1", "b" : "' . $b . '"}';
Edit3: Cette solution fonctionne enfin:
$b = 'hello "kitty"';
$b = str_replace('"','\\"',$b);
echo '{ "a" : "1", "b" : "' . $b . '"}';