91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Json的注解有哪些

發布時間:2021-10-20 09:26:17 來源:億速云 閱讀:140 作者:柒染 欄目:大數據

Json的注解有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1.@JsonIgnoreProperties
在類上注解哪些屬性不用參與序列化和反序列化

@Data
@JsonIgnoreProperties(value = { "word" })  
public class Person { 
  private String hello;
  private String word;
}

2.@JsonIgnore
屬性上忽略

@Data
public class Person { 
  private String hello;
  @JsonIgnore
  private String word;
}

3.@JsonFormat
格式化序列化后的字符串

@Data
public class Person{
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
  private Date time;
  private String hello;
  private String word;
}

4.@JsonSerialize
序列化的時候通過重寫的方法,可以加在get方法上,也可以直接加在屬性上

@Data
public class Person { 
  private String hello;
  private String word;
  @JsonSerialize(using = CustomDoubleSerialize.class)
  private Double money;
}

public class CustomDoubleSerialize extends JsonSerializer<Double> {  
   private DecimalFormat df = new DecimalFormat("#.##"); 
   @Override    
   public void serialize(Double value, JsonGenerator jgen, SerializerProvider provider) throws IOException,            JsonProcessingException { 
       jgen.writeString(df.format(value));    
   }
}

5.@JsonDeserialize
反序列化的時候通過重寫的方法,可以加在set方法上,也可以直接加在屬性上

@Data
public class Person { 
  private String hello;
  private String word; 
  @JsonDeserialize(using = CustomDateDeserialize.class)
  private Date time;
}

public class CustomDateDeserialize extends JsonDeserializer<Date> {  
  
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
  
    @Override  
    public Date deserialize(JsonParser jp, DeserializationContext ctxt)  
            throws IOException, JsonProcessingException {  
  
        Date date = null;  
        try {  
            date = sdf.parse(jp.getText());  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
        return date;  
    }  
}

5.@JsonInclude
Include.Include.ALWAYS 默認
Include.NON_DEFAULT 屬性為默認值不序列化
Include.NON_EMPTY 屬性為 空(“”) 或者為 NULL 都不序列化(想前端傳數據的時候list為空的時候不進行序列化)
Include.NON_NULL 屬性為NULL 不序列化

@Data
public class OrderProcessTime { 
    @JsonInclude(JsonInclude.Include.ALWAYS)
    private Date plan;
}

6.@JsonProperty
用于表示Json序列化和反序列化時用到的名字,例如一些不符合編程規范的變量命名

@Data
public class Person { 
  private String hello;
  private String word; 
  private Date time;
  @JsonProperty(value = "DeliveryTime")
  private Integer deliveryTime;
}


7.Java序列化排除指定字段

使用變量修飾符  transient

Json的注解有哪些

這里打印password 的值是為 空的

使用關鍵字 static

Json的注解有哪些

第二種這個很容易產生誤解,content在輸出的時候還是有數據的,

反序列化輸入的值是  “只是之前的值” ,之后打印的值雖然也是看到 “只是之前的值”,其實這個不是序列化那個的值的

如果不理解,可以從新設置一個content的值

MsgInfo.setContent("這是修改的");

在反序列化打印處理后,會看到輸出的值是剛剛設置的值 “這是修改的”
 

關于Json的注解有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎鲁特旗| 永丰县| 天峨县| 新平| 胶州市| 田林县| 邹城市| 监利县| 凯里市| 团风县| 绥中县| 日土县| 广东省| 建德市| 松潘县| 灵宝市| 宜兰市| 含山县| 兴宁市| 巴林左旗| 淮滨县| 万宁市| 城口县| 泾川县| 循化| 英德市| 屯昌县| 共和县| 花莲县| 西和县| 牟定县| 清丰县| 明溪县| 三河市| 九龙城区| 绥江县| 长乐市| 武安市| 普兰县| 荥阳市| 芷江|