三大主流框架 - 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)