Jackson首字段大写处理.

2019-07-31  本文已影响0人  阿星_

原理 : 

Jackson默认的属性发现规则将会查找到如下所述的属性:

•所有被public修饰的字段(成员变量);

•所有被public修饰的getter(即形如“getXxx()”的方法);

•所有被public修饰的setter(即形如“setXxx(value)”的方法)

Jackson字段名是从get方法名转换过来的,比如字段是USER

如果字段首字段大写,那么解析的时候会去找首字段小写对应的字段.

当然是找不到的,所有USER的解析结果就会是null.

处理方法:

屏蔽掉get方法,并且使所有字段可见.

 // 任何属性可见  

 super.getObjectMapper().setVisibility(PropertyAccessor.FIELD, Visibility.ANY);  

// 屏蔽get方法  

super.getObjectMapper().setVisibility(PropertyAccessor.GETTER, Visibility.NONE);  

// 屏蔽null  

super.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);  

上一篇 下一篇

猜你喜欢

热点阅读