91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用jackson的@JsonProperty注解屬性名,會多出一個字段

發布時間:2020-07-25 21:04:18 來源:網絡 閱讀:4955 作者:rumeng_you 欄目:云計算

遇見了這個情況,我的字段定義是xVal,yVal,用的lombok的@Data注解。
然后查詢到了下面這偏文章,https://bbs.csdn.net/topics/392305619,里面的回答是圖片,我只是翻譯一下圖片而已。

以下是引用的原文:
jackson2對pojo類型序列化的處理。

Jackson2在初始化序列器時,對pojo類型對象會收集其屬性信息,屬性包括成員變量及方法,然后屬性名稱和處理過后的方法名稱做為key保存到一個LinkedHashMap中。收集過程中會調用com.fasterxml.jackson.databind.util.BeanUtil中的legacyManglePropertyName方法用來處理方法名稱,它會將get/set方法前綴,即get或set去掉,并將其后面的連續大寫字符轉換成小寫字符返回。例如: getNEWString會轉變成newstring返回。你的屬性名稱如果有這樣的"nSmallSellCount",lombok自動生成的get方法就會是這樣的"getNSmallSellCount",處理過后就是這樣的"nsmallSellCount",這與屬性nSmallSellCount并不沖突,可以同時存在于HashMap中。收集完屬性信息后,下面的步驟中會刪除掉非可見的屬性,一般指的是私有成員變量,這時,名稱為"nSmallSellCount"的成員變量屬性會被刪除掉,這樣的序列化結果是不會有問題的,但,如果加了@JsonProperty注釋,Jackson2會認為這個屬性是可見的,不必會刪除,這時這兩個表示同一個值得屬性就會被一同序列化。


翻譯完畢,好累。。。。

總結一下知識點:
1.jackson默認序列化時只去get set方法的字段,私有字段是不參與序列化的
2.@JsonProperty 注解在私有屬性上,標明該私有字段在序列化時可見,另外可以指定序列化的名稱。
3.@JsonProperty 如果標注在get set方法上就不會有問題4.項目中使用了lombok的@Data注解,所以只能標注在屬性上,這就導致了出問題。
br/>4.項目中使用了lombok的@Data注解,所以只能標注在屬性上,這就導致了出問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延安市| 宜兰县| 阆中市| 黎城县| 公主岭市| 额尔古纳市| 右玉县| 灵寿县| 宁夏| 内乡县| 静乐县| 琼结县| 五大连池市| 淮南市| 景东| 瑞昌市| 旬邑县| 磐安县| 潢川县| 吉木乃县| 通河县| 璧山县| 盈江县| 永宁县| 迁安市| 澎湖县| 张北县| 修水县| 达拉特旗| 驻马店市| 资溪县| 海城市| 花莲市| 治多县| 乐陵市| 大同市| 长武县| 桐乡市| 安塞县| 溧水县| 石泉县|