中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

东宁县| 原平市| 禄丰县| 漯河市| 武穴市| 丹阳市| 本溪市| 黔南| 揭东县| 大宁县| 平武县| 连南| 文水县| 荔浦县| 江口县| 老河口市| 梨树县| 卫辉市| 尉氏县| 银川市| 遵化市| 郑州市| 长垣县| 嵊州市| 鹤壁市| 余姚市| 巴林左旗| 江阴市| 上高县| 巨鹿县| 焉耆| 鄂托克旗| 唐海县| 正阳县| 阜阳市| 康乐县| 平江县| 清原| 湖北省| 兰州市| 临高县|