使用Jackson Filter for ObjectMapper筛选出空字段?

时间:2014-08-01 18:14:39

标签: java json jackson

有没有办法使用Jackson过滤器筛选出空字段?我知道有注释,但我并不总是想要筛选出空字段。我只想在某些情况下这样做。有没有办法定义过滤器以避免序列化我可以使用ObjectMapper注册的空字段?或者还有其他方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您可以使用@JsonInclude(Include.NON_NULL)注释要忽略空的课程,或者您可以配置ObjectMappermapper.setSerializationInclusion(Include.NON_NULL);

的每个课程执行此操作

虽然您可以使用过滤器来完成它,但您最终需要维护大量的条件逻辑。如果您不想注释您的课程,您可以使用MixIns做同样的事情。

如果以上两种方法都不适合您,您还可以实现每个类的自定义序列化程序来处理您的特定用例。只需针对相关课程实施JsonSerializerStdSerializer,并使用@JsonSerialize(using = MyClassSerializer.class)

为您的目标班级添加注释