Исключение типа при сериализации объекта с помощью ObjectMapperJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Исключение типа при сериализации объекта с помощью ObjectMapper

Сообщение Anonymous »

Я сериализую экземпляр класса Foo для отправки в pubsub. Я использую Jackson ObjectMapper для сериализации экземпляра в строку перед отправкой его в качестве полезной нагрузки.

Код: Выделить всё

    @Bean(name = "gcpObjectMapper")
public ObjectMapper gcpMenuSyncMessageObjectMapper(Jackson2ObjectMapperBuilder builder) {
final ObjectMapper objectMapper = builder
.createXmlMapper(false)
.build();

// Some other custom configuration for supporting Java 8 features
objectMapper.registerModule(new JavaTimeModule());
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

objectMapper.setDefaultTyping(new StdTypeResolverBuilder()
.init(JsonTypeInfo.Id.NONE, null)
.inclusion(JsonTypeInfo.As.EXISTING_PROPERTY)
.typeProperty(null)
.typeIdVisibility(false));

return objectMapper;
}
Этот компонент внедрен в мой компонент, который обрабатывает публикацию сообщений:

Код: Выделить всё

  private ByteString convertPayload(@NotNull Foo payload) throws BusinessRuntimeException {
try {
String jsonString = objectMapper.writeValueAsString(payload);
return ByteString.copyFromUtf8(jsonString);
} catch (JsonProcessingException e) {
log.error("Error converting payload to JSON", e);
throw new BusinessRuntimeException(e);
}
}
Однако ключ типа (имя класса экземпляра) по-прежнему включен в сериализованный строкой JSON. Как я могу настроить сопоставитель объектов так, чтобы он не включал информацию о типе объекта?


Подробнее здесь: https://stackoverflow.com/questions/792 ... jectmapper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»