Для проекта, который я запускаю, у меня есть глобальный экземпляр ObjectMapper
с несколькими базовыми настройками.
В некоторых местах у меня есть небольшие отклонения, такие как изменение PropertyNamingStrategy.Для этих состояний Джексона вы можете использовать ObjectReader или ObjectWriter.
Однако кажется, что ObjectWriter не поддерживает вставку PropertyNamingStrategy.
Есть ли способ сохранить ObjectMapper и вставить PropertyNamingStrategy вa ObjectWriter
без использования ObjectMapper.copy()
?
Параметры, которые я просматривал, но они невозможны
Поскольку, насколько я вижу, вставка PropertyNamingStrategy, как показано ниже, не являетсяразрешено.
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer()
.with(PropertyNamingStrategy.UPPER_CAMEL_CASE));
И также нет возможности вставить SerializationConfig, как показано ниже.
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer()
.with(
mapper.getSerializationConfig()
.with(PropertyNamingStrategy.UPPER_CAMEL_CASE)
);
ObjectReader поддерживает это
В настоящее времяЯ могу сделать это для ObjectReader, потому что разрешен следующий фрагмент:
ObjectMapper mapper = new ObjectMapper();
ObjectReader reader = mapper.reader()
.with(
mapper.getDeserializationConfig()
.with(PropertyNamingStrategy.UPPER_CAMEL_CASE)
);
ObjectReader не предоставляет функцию with
для вставки PropertyNamingStrategy, однако он предоставляет функцию with
для вставкиКонфигурация десериализации.