zoukankan      html  css  js  c++  java
  • spring中对象转json过滤(jackson)

    spring自带的json解析器是jackson

    jackson注解

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

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

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

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

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

    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);
  • 相关阅读:
    linux curses函数库
    在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
    Android Support ;v4、v7、v13的区别
    background-position
    java web 之 web.xml篇
    javaweb之Cookie篇
    Enumeration 接口
    Java Bad version number in .class file
    使用AppCan自带的升级功能实现移动端升级
    obj.offsetHeight与obj.style.height区别
  • 原文地址:https://www.cnblogs.com/dashuai01/p/8946925.html
Copyright © 2011-2022 走看看