Джексон ObjectMapper с кодировкой UTF-8?

Есть ли способ сказать Джексону использовать кодировку 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и заставьте его использовать любую кодировку, какую захотите.

Другие вопросы по тегам