有没有办法使用Jackson过滤器筛选出空字段?我知道有注释,但我并不总是想要筛选出空字段。我只想在某些情况下这样做。有没有办法定义过滤器以避免序列化我可以使用ObjectMapper注册的空字段?或者还有其他方法可以做到这一点吗?
答案 0 :(得分:0)
您可以使用@JsonInclude(Include.NON_NULL)
注释要忽略空的课程,或者您可以配置ObjectMapper
为mapper.setSerializationInclusion(Include.NON_NULL);
虽然您可以使用过滤器来完成它,但您最终需要维护大量的条件逻辑。如果您不想注释您的课程,您可以使用MixIns做同样的事情。
如果以上两种方法都不适合您,您还可以实现每个类的自定义序列化程序来处理您的特定用例。只需针对相关课程实施JsonSerializer
或StdSerializer
,并使用@JsonSerialize(using = MyClassSerializer.class)