今天開發一個需求,對應類裏面的字段要以大寫字母開頭。但是在使用@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)註解就行了。
測試代碼和打印結果截圖,完美解決問題。