spring中对象转json过滤(jackson)

spring自带的json解析器是jacksoncss

jackson注解spring

@JsonIgnore 此注解用于属性上,做用是进行JSON操做时忽略该属性。json

@JsonFormat 此注解用于属性上,做用是把Date类型直接转化为想要的格式,如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")。在json转换的时候时间转换有时会发现时间与当前时间不匹配能够加上,时间时区如:app

@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss"),也能够在配置文件中设置
spring.jackson.time-zone=GMT+8
 

@JsonProperty 此注解用于属性上,做用是把该属性的名称序列化为另一个名称,如把trueName属性序列化为name,@JsonProperty("name")spa

对象转Json为NULL或者空不参与序列化code

  1. 对象上注解   @JsonInclude(Include.NON_NULL)  
    //将该标记放在属性上,若是该属性为NULL则不参与序列化‘’
    //若是放在类上边,那对这个类的所有属性起做用 
    //Include.Include.ALWAYS 默认 
    //Include.NON_DEFAULT 属性为默认值不序列化 
    //Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 
    //Include.NON_NULL 属性为NULL 不序列化 
  2. 代码上处理(注:只对对象有做用,Map和List不起做用
      User user=new User();
        user.setId("111");
        user.setCreateDate(new Date());
        user.setCreateBy(null);
        ObjectMapper mapper=new ObjectMapper();
        mapper.setSerializationInclusion(Include.ALWAYS);
        String outJson=mapper.writeValueAsString(user);
        System.out.println(outJson);
相关文章
相关标签/搜索