10
votes

Jackson Json fait-il faire des espaces spéciaux?

J'avais supposé que Jackson échappait automatiquement aux caractères spéciaux lors de la sérialisation, c'est-à-dire Serialize "/ chemin /" comme "\ / chemin \ /". Il semble ne pas être le cas - au moins hors de la boîte avec 1,6: xxx

... échoue - la sortie produite est "/ chemin /". Dois-je écrire mon propre sérieliseur ou y a-t-il un moyen d'activer une charcuterie spéciale à Jackson?

merci, -nikita


3 commentaires

La Virgule est un personnage spécial dans les cordes JSON?


En fait, si "/" devrait être échappé est la meilleure question. J'ai supposé de regarder ce document Twillio Doc: Twilio.com/docs/API/2010-04-01/REST/... Mais Jslint n'est pas se plaindre. Pourquoi Twilio s'échappe-t-il "/" puis dans les réponses JSON?


Me bat. Je ne trouve rien qui dit / qui a besoin de s'échapper.


3 Réponses :


4
votes

Jackson n'échappe que des choses obligatoires. "/" n'est pas quelque chose que vous devez échapper, ce n'est donc pas. Ceci selon la spécification JSON.

Maintenant: Si vous voulez absolument s'échapper, vous pouvez utiliser des méthodes pour écrire "RAW" Contenu ou valeurs (auquel cas Jackson ne fonctionne aucun traitement et décharge de la chaîne en sortie).

Mais avez-vous vraiment besoin d'une telle échappée? Je sais que certains générateurs s'échappent (pour des raisons inconnues de moi), mais aucun analyseur n'attend que cela devrait donc bien laisser de laisser des barres obliques non évaluées. Ceci est différent des backslashes qui doivent évidemment être échappées.


0 commentaires

1
votes

Le slash "/" ne doit pas être échappé à JSON car il n'a pas de sens spécial. Pourtant, Json permet la barre oblique à être échappée pour la raison suivante.

Si vous videz un texte JSON à droite dans un élément