Я сам не смог найти ответ. Есть ли способ сказать джексону использовать кодировку UTF-8 при использовании ObjectMapper для сериализации и десериализации объектов?
Спасибо
Ответ 1
Джексон автоматически определяет кодировку, используемую в источнике: согласно спецификации JSON действительными кодировками являются UTF-8, UTF-16 и UTF-32. Никакие другие кодировки (например, Latin-1) не могут использоваться.
Из-за этого автоматическое обнаружение легко и доступно с помощью парсера - по этой причине не обнаружено кодирование.
Итак, если вход UTF-8, он будет обнаружен как таковой.
Для вывода UTF-8 по умолчанию; но если вы явно хотите использовать другую кодировку, вы можете явно создать JsonGenerator (с помощью метода, который принимает JsonEncoding), и передать это на ObjectMapper.
Альтернативно, в обоих случаях вы можете вручную создать java.io.Reader/java.io.Writer и сделать его использующим любую кодировку, которую вы хотите.