У меня есть POJO, который я хочу Сериализовать по-разному на основе значения одного из свойств.
Скажем, у меня есть POJO. Я хочу включить NULL, когда "show" истинно, и исключить NULLS, когда "show" является ложным. Имейте в виду, что фактический объект, который я пытаюсь установить, имеет более 30 свойств.
public class User {
@JsonIgnore
private boolean show;
private String name;
private Integer age;
...
...
}
Я хотел бы знать, как это сделать с помощью Джексона. Должен ли я реализовать свой собственный JsonSerializer, или я должен создать PropertyFilter? Или я пропустил функцию из коробки?
Вы можете написать свой собственный сериализатор, который будет заботиться о генерации нулевых свойств на основе переменной экземпляра show
. Для этого вы можете создать ObjectMapper
с настройками сериализации NULL
на основе вашего свойства show и затем делегировать ему сериализацию.
У меня есть аналогичное требование, и, вероятно, я познакомлюсь с фактическими API-интерфейсами Object Mapper. Я попытаюсь опубликовать код для вышесказанного.