幾個關於json序列化 的注解


一.@JsonProperty

1.此注解用於屬性上,作用是把該屬性的名稱序列化為另外一個名稱。例如:

 @JsonProperty("name") 
 private String Name2; 

把name2 在序列化的時候變成name。

JsonProperty Maven依賴是

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version></version>
</dependency>

二、@JsonSerialize

注解用於屬性或者getter方法上,用於在序列化時嵌入我們自定義的代碼。例如將date轉成long型

1.自定義轉換規則

public class Date2LongSerialzer extends JsonSerializer<Date>{

    @Override
    public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
            throws IOException, JsonProcessingException {
        // TODO Auto-generated method stub
        gen.writeNumber(value.getTime()/1000);
    }

}

2.在屬性上使用注解

@JsonSerialize(using = Date2LongSerialzer.class)

三、@JsonInclude(JsonInclude.Include.NON_NULL)

在給前端返回的json數據上盡量不要有空的或者null出現,所以使用@JsonInclude(Include.NON_NULL) 這個注解放在類頭上就可以解決。 實體類與json互轉的時候 屬性值為null的不參與序列化

 

四、還有其他一些注解可以參照 https://www.cnblogs.com/guijl/p/3855329.html

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM