使用@JsonProperty註解,反序列化之後出現重名字段,一個首字母大寫,一個首字母小寫

今天開發一個需求,對應類裏面的字段要以大寫字母開頭。但是在使用@JsonProperty註解之後,發現序列化之後打印出來的內容,會出現重名的字段。具體見測試代碼。

1、用的lombok插件,寫上@Data註解後,就不用寫set和get方法了,可以在pom.xml裏面配置,具體配置如下:

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>

2、使用了@JsonProperty註解,可以在裏面寫上自己想序列化之後的名稱。我這裏測試用了2個大寫字母開頭和一個小寫字母開頭命名的字段。

3、測試結果發現,兩個大寫字母開頭的字段,序列化之後,多出了2個小寫字母開頭的字段。小寫字母開頭的字段,序列化之後沒有多出來字段。是因爲get方法會生成一個小寫字母開頭的字段。

解決方法:

在類上面加上@JsonAutoDetect(getterVisibility=JsonAutoDetect.Visibility.NONE)註解就行了。

測試代碼和打印結果截圖,完美解決問題。


 

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