作用:在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),使用方法一樣。