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

时间:2015-07-28 14:58:25

标签: java json jackson

我有杰克逊注释的POJO

     public class Sample{

        private String property1;

        @JsonIgnore
        private String property2;

        //...setters getters

     }

因此,当杰克逊图书馆被其他框架(如RestEasy)用于自动化分类时,这些注释有助于指导序列化和去除化过程。

但是当我想使用ObjectMapper mapper = new ObjectMapper()显式序列化时,我不希望这些注释产生任何效果,而是我将mapper对象配置为我的要求。

那么,如何在使用ObjectMapper时使注释没有任何效果?

2 个答案:

答案 0 :(得分:14)

如果你使用的是 com.fasterxml.jackson ,那么代码就是 -

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

答案 1 :(得分:9)

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);

这有效!