Existe-t-il un moyen de dire à Jackson d'utiliser le codage UTF-8 lors de l'utilisation de ObjectMapper
pour sérialiser et désérialiser des objets?
Jackson détecte automatiquement l'encodage utilisé dans la source: selon la spécification JSON, seuls les encodages valides sont UTF-8, UTF-16 et UTF-32. Aucun autre encodage (comme Latin-1) ne peut être utilisé. Pour cette raison, la détection automatique est facile et effectuée par l'analyseur - aucune détection d'encodage n'est acceptée pour cette raison. Donc, si l'entrée est UTF-8, elle sera détectée comme telle.
Pour la sortie, UTF-8 est la valeur par défaut; mais si vous souhaitez explicitement utiliser un autre encodage, vous pouvez créer JsonGenerator
explicitement (avec une méthode qui prend JsonEncoding
), et le transmettre à ObjectMapper
.
Alternativement, dans les deux cas, vous pouvez bien sûr construire manuellement Java.io.Reader
/Java.io.Writer
, et lui faire utiliser l'encodage que vous voulez.