json屬性(Jackson)

Jackson相關:
使用Jackson相關的註解時必定要注意本身定義的屬性命名是否規範。
命名不規範時會失去效果。(例如Ename ,Eage 爲不規範命名。「nameE」,「ageE」爲規範命名)。
若是使用@JsonIgnore註解不起效時請注意一下你的屬性名字是否規範。html

一、@JsonIgnoreProperties
此註解是類註解,做用是json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。
寫法將此標籤加在model 類的類名上 ,能夠多個屬性也能夠單個屬性java

//生成json時將name和age屬性過濾
@JsonIgnoreProperties({"name"},{"age"}) 
public class user { 
  
private String name;   private int age; }

二、@JsonIgnore
此註解用於屬性或者方法上(最好是屬性上),做用和上面的@JsonIgnoreProperties同樣。
生成json 時不生成age 屬性數據庫

public class user { 
    private String name; 
    @JsonIgnore 
    private int age; 
} 

三、@JsonFormat
此註解用於屬性或者方法上(最好是屬性上),能夠方便的把Date類型直接轉化爲咱們想要的模式,好比json

@JsonFormat(pattern = 「yyyy-MM-dd HH-mm-ss」)

四、@JsonSerialize
此註解用於屬性或者getter方法上,用於在序列化時嵌入咱們自定義的代碼,好比序列化一個double時在其後面限制兩位小數點。
五、@JsonDeserialize
此註解用於屬性或者setter方法上,用於在反序列化時能夠嵌入咱們自定義的代碼,相似於上面的@JsonSerialize
六、@Transient
@[email protected]映射,ORM框架將忽略該屬性;
若是一個屬性並不是數據庫表的字段映射,就務必將其標示爲@Transient,不然ORM框架默認其註解爲@Basic;框架

//表示該字段在數據庫表中沒有
@Transient 
public int getAge() { 
 return 1+1; 
}

參考:http://www.bubuko.com/infodetail-264724.htmlspa

相關文章
相關標籤/搜索