Nettoyage des chaînes JSON valide valeurs
Je veux nettoyer les chaînes qui sont récupérées à partir d'une base de données.
Je suis tombé sur cette question lorsque la valeur d'une propriété (un nom à partir d'une base de données) avait intégré le caractère de TABULATION, et Chrome m'a donné une défaillance de JETON d'erreur en essayant de charger l'objet JSON.
Alors maintenant, je suis allé à http://www.json.org/ et sur le côté, il a un cahier des charges. Mais je vais avoir du mal à comprendre comment écrire un nettoyant à l'aide de cette spécification:
chaîne
- ""
- " caractères "
caractères
- char
- char caractères
char
- tout-Unicode caractères
à l'exception de-"-ou-ou-
des caractères de contrôle - \"
- \\
- /
- \b
- \f
- \n
- \r
- \t
- \u de quatre chiffres hexadécimaux
Donné une chaîne de caractères, comment puis-je "propre" que je vous conformer à cette spec?
Plus précisément, je suis confus: le spec permettre ONGLET (0x0900) caractères? Si oui, pourquoi avez-Chrome donné une défaillance de JETON d'erreur?
Vous devez vous connecter pour publier un commentaire.
Ce peut-être ce que vous cherchez, il vous montre comment utiliser la classe JavaScriptSerializer en C#.
Comment créer de la Chaîne JSON en C#
Des caractères de tabulation (réelle
0x09
, ne s'échappe) ne peut pas apparaître à l'intérieur de guillemets dans le JSON (même si elles sont valides les espaces à l'extérieur des guillemets). Vous aurez besoin de l'échapper avec\t
ou\u0009
(l'ancien étant préférable).json.org dit non échappés de caractères d'une chaîne de caractères doit être:
Onglet compte comme un caractère de contrôle.