我有一个POJO,我希望根据其中一个属性的值进行不同的序列化。
说,我有下面的POJO。我希望在“show”为true时包含NULL,并在“show”为false时排除NULLS。请注意,我尝试序列化的实际对象有超过30个属性。
public class User {
@JsonIgnore
private boolean show;
private String name;
private Integer age;
...
...
}
我想知道如何使用杰克逊。我是否必须实现自己的JsonSerializer,还是应该创建一个PropertyFilter?或者我错过了一个开箱即用的功能?
答案 0 :(得分:0)
您可以编写自己的自定义序列化程序,负责根据show
实例变量生成null属性。为此,您可以根据您的show属性创建一个ObjectMapper
NULL
序列化设置,然后将序列化委托给它。
我有类似的要求,我可能会熟悉Object Mapper的实际API。我将尝试发布上述代码。