Игнорировать внутренний объект, если все свойства нулевые во время десериализации ObjectMapper - PullRequest
0 голосов
/ 02 мая 2020

У меня есть ниже Класс продукта

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Product {
    private String id;
    private String status;
    private Price price
}

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Price {
    private String originalPrice;
    private String newPrice;
}

После десериализации я получаю вывод json как показано ниже

{
  "id" : 2113,
  "status" : "New",
  "price" : { },
}

Но я ожидаю вывод как ниже без детали цены, так как цена имеет все атрибуты как ноль

{
  "id" : 2113,
  "status" : "New"
}

Я пробовал @JsonInclude (JsonInclude.Include.NON_EMPTY) на уровне класса, но он не работает.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 02 мая 2020

Это может быть потому, что ваш объект Price не равен нулю. Somewhere Price инициализируется и включается пустым.

См. Пример здесь

Если это не так, вы можете добавить код для вашего сервиса / контроллера, который возвращает Product.

...