fastJson的@JSONField和jackson的@JsonProperty使用

https://blog.csdn.net/xgjianstart/article/details/82663598

一、jackson的@JsonProperty使用

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.3</version>
</dependency>
@JsonProperty 此註解用於屬性上,作用是把該屬性的名稱序列化爲另外一個名稱,如把trueName屬性序列化爲name,@JsonProperty(value="name")。

二、fastJson的@JSONField使用

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.28</version>
</dependency>


三、jackson的@JsonIgnore使用

作用:在json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

使用方法:一般標記在屬性或者方法上,返回的json數據即不包含該屬性。

場景模擬:

需要把一個List<HistoryOrderBean>轉換成json格式的數據傳遞給前臺。但實體類中基本屬性字段的值都存儲在快照屬性字段中。此時我可以在業務層中做處理,把快照屬性字段的值賦給實體類中對應的基本屬性字段。最後,我希望返回的json數據中不包含這兩個快照字段,那麼在實體類中快照屬性上加註解@JsonIgnore,那麼最後返回的json數據,將不會包含goodsInfo和extendsInfo兩個屬性值。

public class HistoryOrderBean {
 
    //基本屬性字段
    private String insurantName;
    private String insuranceName;
    private String insurancePrice;
    private String insurancePicture;
    private String insuranceLimit;
 
    //快照屬性字段
    @JsonIgnore
    private String goodsInfo;      //快照基本信息
    @JsonIgnore  
    private String extendsInfo;    //快照擴展屬性信息
 
}
4.註解失效: 
如果註解失效,可能是因爲你使用的是fastJson,可以嘗試使用該註解@JSONField(serialize = false),使用方法一樣。
--------------------- 
作者:打怪的螞蟻 
來源:CSDN 
原文:https://blog.csdn.net/xgjianstart/article/details/82663598 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章