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);
相關文章
相關標籤/搜索