一:Jackson默認的屬性發現規則將會查找到如下所述的屬性:
1.所有被public修飾的字段(成員變量);
2.所有被public修飾的getter(即形如“getXxx()”的方法);
3.所有被public修飾的setter(即形如“setXxx(value)”的方法)。
字段名是通過get方法名轉換過來的, 所以會出現字母大小寫問題(當前幾個都是大寫的字母,都會轉換成小寫,直到不是大寫為止,若小寫后面還有大寫,則保持大寫。), 以及如果用@JsonProperty("")強制序列化為某個名稱時, 如果不在get/set方法上加@JsonIgnore則會出現兩個字段,一個首字母大寫, 一個首字母小寫。可以將屬性用private修飾,在get方法上加@JsonProperty。
二:可以在實體類上加注解@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY, getterVisibility=JsonAutoDetect.Visibility.NONE)
1.JsonAutoDetect.Visibility.ANY : 表示所有字段都可以被發現, 包括private修飾的字段, 解決大小寫問題;
2.JsonAutoDetect.Visibility.NONE : 表示get方法不可見,解決字段重復問題。
參考: https://blog.csdn.net/cosisis/article/details/81240386
1.所有被public修飾的字段(成員變量);
2.所有被public修飾的getter(即形如“getXxx()”的方法);
3.所有被public修飾的setter(即形如“setXxx(value)”的方法)。
字段名是通過get方法名轉換過來的, 所以會出現字母大小寫問題(當前幾個都是大寫的字母,都會轉換成小寫,直到不是大寫為止,若小寫后面還有大寫,則保持大寫。), 以及如果用@JsonProperty("")強制序列化為某個名稱時, 如果不在get/set方法上加@JsonIgnore則會出現兩個字段,一個首字母大寫, 一個首字母小寫。可以將屬性用private修飾,在get方法上加@JsonProperty。
二:可以在實體類上加注解@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY, getterVisibility=JsonAutoDetect.Visibility.NONE)
1.JsonAutoDetect.Visibility.ANY : 表示所有字段都可以被發現, 包括private修飾的字段, 解決大小寫問題;
2.JsonAutoDetect.Visibility.NONE : 表示get方法不可見,解決字段重復問題。
參考: https://blog.csdn.net/cosisis/article/details/81240386
作者:愛的旋轉體
鏈接:https://www.jianshu.com/p/855654b3b68c
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。
