Java如何指定jackson只使用字段-最好全局使用

默认的jackon行为似乎同时使用属性(getter和setter)和字段来序列化和反序列化为json。

我想将这些字段用作序列化配置的规范来源,因此根本不希望杰克逊查看属性。

我可以使用注解在单个类的基础上执行此操作:

 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)

但是我不想在每堂课上都讲这个…

是否可以全局配置?喜欢添加一些到对象映射器?

回答:

你可以这样配置各个ObjectMappers:

ObjectMapper mapper  = new ObjectMapper();

mapper.setVisibility(mapper.getSerializationConfig().getDefaultVisibilityChecker()

.withFieldVisibility(JsonAutoDetect.Visibility.ANY)

.withGetterVisibility(JsonAutoDetect.Visibility.NONE)

.withSetterVisibility(JsonAutoDetect.Visibility.NONE)

.withCreatorVisibility(JsonAutoDetect.Visibility.NONE));

如果要全局设置它,我通常通过包装器类访问已配置的映射器。

以上是 Java如何指定jackson只使用字段-最好全局使用 的全部内容, 来源链接: utcz.com/qa/427686.html

回到顶部