Jackson ObjectMapper avec encodage UTF-8?
y a-t-il un moyen de dire à Jackson d'utiliser L'encodage UTF-8 en utilisant ObjectMapper
pour sérialiser et désérialiser des Objets?
1 réponses
Jackson détecte automatiquement l'encodage utilisé dans source: selon la spécification JSON, seuls les encodages valides sont UTF-8, UTF-16 et UTF-32. Aucun autre encodage (comme le Latin-1) ne peut être utilisé. Pour cette raison, l'auto-détection est facile et se fait par analyseur -- aucune détection d'encodage n'est acceptée pour cette raison. Donc, si input est UTF-8, il sera détecté comme tel.
Pour la sortie, UTF-8 est la valeur par défaut, mais si vous l'avez explicitement souhaitez utiliser un autre encodage, vous pouvez créer JsonGenerator
explicitement (avec une méthode qui prend JsonEncoding
), et passez ceci à ObjectMapper
.
alternativement dans les deux cas vous pouvez bien sûr construire manuellement java.io.Reader
/java.io.Writer
, et en faire usage de quelque encodage que vous voulez.