3.1SpringBoot之jackson

3.1SpringBoot之jackson,第1张

三大主流框架
- jackson
- gson
- fastjson
  序列化和反序列化:
  序列化:对象->JSON.(响应 JSON》
  反序列化:JSON-z对象(请求参数是 J50N)
  HttpMessageConverter:
  转换器:对象->J5ON,J50N-~对象
  所有的 JSON 工具都会提供各自的 HttpMessageConverter。
  - jackson: MappingJackson2HttpMessageConverter
  - gson: GsonHttpMessageConverter
  - fastjson:
  SpringAVC 框架中,jackson 和 gson 的HttpMe
ObjectMapper
ssageConverter已经自动配置好了,只需要添加依赖就可以了,fastjson则需要开发者手动配置HttpMessageConverter

jackson配置,有两种思路:
在各个对象上面配置,就是在实体类上面添加一些注解进行配置,下面是一些常见的注解
  • @JsonProperty(value = "name",index = 98)
    序列化或者反序列化时指定属性序列化的名称,默认是属性名,index越小排列就越靠前
  • @JsonIgnoreProperties({"password"})
    序列化或者反序列化时忽略某字段,可以指定多个,是类注解
  • @JsonPropertyOrder({"birthday","username","address"})
    指定序列化的顺序,类似于 @JsonProperty的index
  • @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    //日期格式化,前面是日期格式,后面是时区
  •  @JsonIgnore
    序列化或者反序列化时忽略某一个字段,是在变量上面的注解
全局配置
@Configuration
public class WebMvcConfig {
    @Bean
    ObjectMapper objectMapper(){
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
        return new ObjectMapper();
    }
}
 因为jackson是ObjectMapper进行配置,我们可以自己定义一个ObjectMapper,注入到Bean中,这样SpringBoot只会加载到我们自己的ObjectMapper

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/796026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存