Minify en retrait chaîne JSON dans .NET
J'ai un retrait de chaîne JSON par exemple
{
"a": 1
}
Cependant, je n'ai pas le type de l'instance de sérialiser ou désérialiser.
Dans ma situation, quelle est la le moyen le plus efficace à rapetisser une chaîne JSON? par exemple,
{"a":1}
Je n'ai pas l'esprit à l'aide des bibliothèques si elles sont prêtes pour la production.
Vous devez vous connecter pour publier un commentaire.
devrait le faire. Il permet de s'assurer que les chaînes de caractères qui contiennent des espaces sont préservés, et tous les autres espaces sont ignorés. Tous JSON mots-clés (
false
,true
,null
) doivent être séparés par des virgules ou d'autres signes de ponctuation ainsi que de blanc-de l'espace à l'intérieur de chaînes doit être préservé.La première option
(\"(?:[^\"\\\\]|\\\\.)*\")
correspond à une double chaîne de caractères entre guillemets. Le(...)
signifie que la sortie est capturé et disponible dans le remplacement$1
. Le[^\"\\\\]
correspond à tout caractère sauf un double devis ou un caractère d'échappement\
.Depuis correspondance de gauche à droite, la deuxième option,
\s+
ne correspondra pas à l'espace à l'intérieur d'une chaîne.Nous avons donc correspondre à l'ensemble des chaînes, et des espaces à l'extérieur des cordes. Dans le premier cas,
$1
est la chaîne de jeton, et dans ce dernier cas$1
est la chaîne vide, car le groupe 1 n'a pas été utilisé.Cela fonctionne comme prévu, car
var x=0
est différente devarx=0
etx - -(y)
est différente dex--(y)
.@"(""(?:[^""\\]|\\.)*"")|\s+"
- guillemets au lieu de quadruple des barres obliquesQue les regex ci-dessous fonctionne pour moi.
Je l'utilise sur .NET de Base d'application du projet. Regex est de cette réponse.