Как по-разному сериализовать POJO в json, используя Джексона?

1

У меня есть POJO, который я хочу Сериализовать по-разному на основе значения одного из свойств.

Скажем, у меня есть POJO. Я хочу включить NULL, когда "show" истинно, и исключить NULLS, когда "show" является ложным. Имейте в виду, что фактический объект, который я пытаюсь установить, имеет более 30 свойств.

public class User {
    @JsonIgnore
    private boolean show;

    private String name;
    private Integer age;
    ...
    ...
}

Я хотел бы знать, как это сделать с помощью Джексона. Должен ли я реализовать свой собственный JsonSerializer, или я должен создать PropertyFilter? Или я пропустил функцию из коробки?

Теги:
serialization
jackson

1 ответ

0

Вы можете написать свой собственный сериализатор, который будет заботиться о генерации нулевых свойств на основе переменной экземпляра show. Для этого вы можете создать ObjectMapper с настройками сериализации NULL на основе вашего свойства show и затем делегировать ему сериализацию.

У меня есть аналогичное требование, и, вероятно, я познакомлюсь с фактическими API-интерфейсами Object Mapper. Я попытаюсь опубликовать код для вышесказанного.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню