SpringBoot 序列化器注解使用方法

Json解析工具Jackson

  • @JsonIgnoreProperties

    此注解是類注解厂抽,作用是json序列化時將Java bean中的一些屬性忽略掉瞬铸,序列化和反序列化都受影響痰哨。

  • @JsonIgnore

    此注解用于屬性或者方法上(最好是屬性上)行剂,作用和上面的@JsonIgnoreProperties一樣航徙。

  • @JsonFormat

    此注解用于屬性或者方法上(最好是屬性上),可以方便的把Date類型直接轉(zhuǎn)化為我們想要的模式厂置,比如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")

  • @JsonSerialize

    此注解用于屬性或者getter方法上菩掏,用于在序列化時嵌入我們自定義的代碼,比如序列化一個double時在其后面限制兩位小數(shù)點昵济。

public class CustomDoubleSerialize extends JsonSerializer<Double> {  
  
    private DecimalFormat df = new DecimalFormat("##.00");  
  
    @Override  
    public void serialize(Double value, JsonGenerator jgen,  
            SerializerProvider provider) throws IOException,  
            JsonProcessingException {  
  
        jgen.writeString(df.format(value));  
    }  
}  
  • @JsonDeserialize

    此注解用于屬性或者setter方法上智绸,用于在反序列化時可以嵌入我們自定義的代碼,類似于上面的@JsonSerialize

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;  
    }  
}  

完整例子:

//表示序列化時忽略的屬性  
@JsonIgnoreProperties(value = { "word" })  
public class Person {  
   private String name;  
   private int age;  
   private boolean sex;  
   private Date birthday;  
   private String word;  
   private double salary;  
 
   public String getName() {  
       return name;  
   }  
 
   public void setName(String name) {  
       this.name = name;  
   }  
 
   public int getAge() {  
       return age;  
   }  
 
   public void setAge(int age) {  
       this.age = age;  
   }  
 
   public boolean isSex() {  
       return sex;  
   }  
 
   public void setSex(boolean sex) {  
       this.sex = sex;  
   }  
 
   public Date getBirthday() {  
       return birthday;  
   }  
 
   // 反序列化一個固定格式的Date  
   @JsonDeserialize(using = CustomDateDeserialize.class)  
   public void setBirthday(Date birthday) {  
       this.birthday = birthday;  
   }  
 
   public String getWord() {  
       return word;  
   }  
 
   public void setWord(String word) {  
       this.word = word;  
   }  
 
   // 序列化指定格式的double格式  
   @JsonSerialize(using = CustomDoubleSerialize.class)  
   public double getSalary() {  
       return salary;  
   }  
 
   public void setSalary(double salary) {  
       this.salary = salary;  
   }  
 
   public Person(String name, int age) {  
       this.name = name;  
       this.age = age;  
   }  
 
   public Person(String name, int age, boolean sex, Date birthday,  
           String word, double salary) {  
       super();  
       this.name = name;  
       this.age = age;  
       this.sex = sex;  
       this.birthday = birthday;  
       this.word = word;  
       this.salary = salary;  
   }  
 
   public Person() {  
   }  
 
   @Override  
   public String toString() {  
       return "Person [name=" + name + ", age=" + age + ", sex=" + sex  
               + ", birthday=" + birthday + ", word=" + word + ", salary="  
               + salary + "]";  
   }  
 
}  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末访忿,一起剝皮案震驚了整個濱河市瞧栗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌海铆,老刑警劉巖迹恐,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異卧斟,居然都是意外死亡殴边,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門唆涝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來找都,“玉大人唇辨,你說我怎么就攤上這事廊酣。” “怎么了赏枚?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵亡驰,是天一觀的道長。 經(jīng)常有香客問我饿幅,道長凡辱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任栗恩,我火速辦了婚禮透乾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘磕秤。我一直安慰自己乳乌,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布市咆。 她就那樣靜靜地躺著汉操,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒙兰。 梳的紋絲不亂的頭發(fā)上磷瘤,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天芒篷,我揣著相機(jī)與錄音,去河邊找鬼采缚。 笑死针炉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扳抽。 我是一名探鬼主播糊识,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼摔蓝!你這毒婦竟也來了赂苗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤贮尉,失蹤者是張志新(化名)和其女友劉穎拌滋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猜谚,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡败砂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了魏铅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昌犹。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖览芳,靈堂內(nèi)的尸體忽然破棺而出斜姥,到底是詐尸還是另有隱情,我是刑警寧澤沧竟,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布铸敏,位于F島的核電站,受9級特大地震影響悟泵,放射性物質(zhì)發(fā)生泄漏杈笔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一糕非、第九天 我趴在偏房一處隱蔽的房頂上張望蒙具。 院中可真熱鬧,春花似錦朽肥、人聲如沸禁筏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽融师。三九已至,卻和暖如春蚁吝,著一層夾襖步出監(jiān)牢的瞬間旱爆,已是汗流浹背舀射。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留怀伦,地道東北人脆烟。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像房待,于是被迫代替她去往敵國和親邢羔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理桑孩,服務(wù)發(fā)現(xiàn)拜鹤,斷路器,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • JAVA序列化機(jī)制的深入研究 對象序列化的最主要的用處就是在傳遞,和保存對象(object)的時候,保證對象的完整...
    時待吾閱讀 10,842評論 0 24
  • 2017年8月21日 我原本只想簡單記錄一下springboot中應(yīng)用Jpa的簡單操作流椒。不想由于hibernate...
    行者N閱讀 6,485評論 0 23
  • JPA的注解 1.@MappedSuperclass1)@MappedSuperclass注解只能標(biāo)準(zhǔn)在類上:@T...
    廖馬兒閱讀 2,120評論 0 2
  • 帝釋天傳經(jīng)敏簿,天龍八部參與聽法。凡界人龍化為男身宣虾,現(xiàn)佛之相惯裕,迦樓羅大鵬展翅,以龍為食绣硝,窮追不舍蜻势。然一波未平,一波又起...
    次花小開閱讀 152評論 0 0