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

pin*_*her 11 java json jackson

我有杰克逊注释的POJO

     public class Sample{

        private String property1;

        @JsonIgnore
        private String property2;

        //...setters getters

     }
Run Code Online (Sandbox Code Playgroud)

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

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

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

Kri*_*ndu 15

嗨,如果你使用com.fasterxml.jackson然后代码是 -

ObjectMapper mapper = new ObjectMapper().configure(MapperFeature.USE_ANNOTATIONS, true);
Run Code Online (Sandbox Code Playgroud)

  • 或mapper.disable(MapperFeature.USE_ANNOTATIONS); (5认同)

pin*_*her 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);
Run Code Online (Sandbox Code Playgroud)

这有效!