Делаю мапинг JSON в иерархию объектов. Есть поле типа класса, которое в JSON может быть null. Jackson в спринге валится при попытке маппировать это нулевое поле в объект. Как сделать, чтобы если вложенный джейсон равен null, то и ссылка на соответствующий объект была null? @JsonIgnore работает только при сериализации, а я десериализую JSON.
Если вы используете Spring boot, тогда это можно настроить в application.properties.
spring.jackson.deserialization.fail-on-unknown-properties=false
Если у вас не spring boot приложение, тогда надо сделать бин со следующими настройками:
@Bean
ObjectMapper objectMapper() {
return Jackson2ObjectMapperBuilder.json()
.failOnUnknownProperties(false)
.build();
}
Добавь свой десериалайзер
public final class JsonWithNullDeserializer
extends JsonNodeDeserializer
{
@Override
public JsonNode getNullValue(DeserializationContext ctxt)
{
return null;
}
}
И задай этот десериалайзер везде где нужно
@JsonDeserialize(using = JsonWithNullDeserializer.class)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть рест - сервис на spring:
Нужно написать программу (на java), чтобы пользователь ввёл день недели (воскресенье 0, понедельник 1,
Постараюсь максимально доступно описать задачуУ меня есть круг, который разделен на сектора (например 6)