Асимметричное поведение [JsonInclude] для сериализации из десериализации - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть класс с полем, тип которого List<String>.Я хочу игнорировать пустой список при сериализации, чтобы поле не отображалось в моем json.Но при десериализации, я хочу, чтобы в мой java-объект был включен пустой список.@JsonInclude(Include.NON_EMPTY) проигнорирует это в обоих случаях.я должен написать собственный serializDifferenter?Каков наилучший подход для этого?

1 Ответ

0 голосов
/ 16 ноября 2018

Почему вы не просто инициализируете List<String> пустым ArrayList<String> в Java-объекте, просто так:

public class JsonTestObject implements Serializable {

    private String propertyOne = null;

    private Integer intProperty = 0;

    @JsonInclude(Include.NON_EMPTY)
    private List<String> stringList = new ArrayList<String>();
}

Сериализация с пустым списком создаст такой тип json:

{"propertyOne":"aaaaa","intProperty":1000}

И с двойной десериализацией этого образца json, List<String> будет инициализирован в пустой список

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...