如何在使用Jackson ObjectMapper时忽略pojo注释?

2022-09-04 06:07:49

我有一个带有杰克逊注释的POJO

     public class Sample{

        private String property1;

        @JsonIgnore
        private String property2;

        //...setters getters

     }

因此,当 Jackson 库被其他框架(如 RestEasy)用于自动编组时,这些注释有助于指导序列化和反序列化过程。

但是,当我想使用 ObjectMapper mapper = new ObjectMapper() 显式序列化时,我不希望这些注释产生任何影响,相反,我将根据我的要求配置映射器对象。

那么,如何在使用ObjectMapper时使注释不产生任何效果呢?


答案 1

嗨,如果你正在使用com.fasterxml.jackson,那么代码是 -

ObjectMapper mapper = new ObjectMapper().configure(MapperFeature.USE_ANNOTATIONS, true);

答案 2

将您配置为不使用这些注释,如下所示:ObjectMapper

ObjectMapper objectMapper = new ObjectMapper().configure(
                 org.codehaus.jackson.map.DeserializationConfig.Feature.USE_ANNOTATIONS, false)
                    .configure(org.codehaus.jackson.map.SerializationConfig.Feature.USE_ANNOTATIONS, false);

这有效!