2009-06-11 7 views
1

Je génère mon JSON manuellement, et je me suis même échappé pour des guillemets avec un antislash précédent. Cela me cause des problèmes.Génération de la requête JSON manuellement, retour du code HTML provoquant des problèmes

Mon HTML retourné ressemble à quelque chose comme:

<div class="blah"><div class="a2">This is just a test! I hope this work's man!</div></div> 


string json = "MY HTML HERE"; 
json = json.Replace(@"""", @"\"""); 

Y at-il plus à remplacer que seulement les guillemets doubles?

Répondre

0

Je pense que cela va le faire:

json = json.Replace("\"", "\\\""); 

S'il vous plaît Canada Plus de détails, où est ce code?

+0

ne devrait-il être json.Replace ("\" " "\\\"") – rmarimon

0

Oui. Selon le code JSON spec, une valeur de chaîne valide est "n'importe quel caractère Unicode sauf" ou \ ou un caractère de contrôle

+0

ce qui est un caractère de contrôle? – mrblah

0

Avez-vous des sauts de ligne dans les chaînes pour le json? Parfois, cela casse de nombreux navigateurs. to \ ", \ to \, et cr/lf à \ n Le saut de ligne ne fait pas partie de la spécification json selon json.org, mais la plupart des interpréteurs javascript peuvent en traiter.

0

Ne pas encoder JSON par main - utiliser le sérialiseur

string json = new System.Web.Script.Serialization.JavaScriptSerializer() 
    .Serialize(html); 
Questions connexes