Jackson序列号的方案:
public修饰的field -> public修饰的getter -> public修饰的setter
字段都是private的,所以无法识别。
而 getter识别的时候无法却分首字母是大写还是小写,
所以jackson统一用java的规范假设成小写,所以会出现小写
而@JsonProperty又指定了需要转换一个首字母大写的name,所以会出现大写。
一种方案是通过修改检查Field的可见性。
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE);
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
另一种是,通过把JsonProperty修饰到getter上。