因为SpringMVC默认使用的是jackson来处理json,它的内部其实是使用了一个ObjectMapper对象,所以我们就需要配置这个ObjectMapper对象。可以使用BeanPostProcessor的来处理。
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof MappingJackson2HttpMessageConverter) { MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) bean; ObjectMapper objectMapper = jsonConverter.getObjectMapper(); } }
在这里里面,可以对objectMapper设置一些特性,比如时间的格式(默认是时间戳),是否序列化值为null的属性等等。
- Jackson 中布尔类型,使用Lombok生成@Getter的情况:
- 遇到 prime boolean 为is开头则,生成的json中不会以is开头
- 如果在属prime boolan 对象上使用 @JsonProperty注解指定名称为is开头,则会有is的和没有is的都会出现。
- 如果遇到的是 对象 Boolean 为is开头,则生成json中以is开
- 遇到 prime boolean 为is开头则,生成的json中不会以is开头
- Jackson 在序列化时如果json中的属性名和对象中的不一致,可以使用在属性上使用@JsonAlias来指定别名
了解 工作生活心情记忆 的更多信息
Subscribe to get the latest posts sent to your email.