1. 程式人生 > >Jackson精解第4篇-@JacksonInject與@JsonAlias註解

Jackson精解第4篇-@JacksonInject與@JsonAlias註解

![](https://img2020.cnblogs.com/other/1815316/202009/1815316-20200922071701004-1976783452.png) Jackson是Spring Boot(SpringBoot)預設的JSON資料處理框架,但是其並不依賴於任何的Spring 庫。有的小夥伴以為Jackson只能在Spring框架內使用,其實不是的,沒有這種限制。它提供了很多的JSON資料處理方法、註解,也包括**流式API、樹模型、資料繫結**,以及複雜資料型別轉換等功能。它雖然簡單易用,但絕對不是小玩具,**更多的內容我會寫成一個系列,5-10篇文章,請您繼續關注我。** * [《序列化與反序列化核心用法-JSON框架Jackson精解第1篇》](http://www.zimug.com/java/spring/%e5%ba%8f%e5%88%97%e5%8c%96%e4%b8%8e%e5%8f%8d%e5%ba%8f%e5%88%97%e5%8c%96%e6%a0%b8%e5%bf%83%e7%94%a8%e6%b3%95-json%e6%a1%86%e6%9e%b6jackson%e7%b2%be%e8%a7%a3%e7%ac%ac%e4%b8%80%e7%af%87/.html) * [《特殊資料格式處理-JSON框架Jackson精解第2篇》](http://www.zimug.com/java/spring/%e7%89%b9%e6%ae%8a%e6%95%b0%e6%8d%ae%e6%a0%bc%e5%bc%8f%e5%a4%84%e7%90%86-json%e6%a1%86%e6%9e%b6jackson%e7%b2%be%e8%a7%a3%e7%ac%ac2%e7%af%87/.html) * [《屬性序列化自定義排序與字母表排序-JSON框架Jackson精解第3篇》](http://www.zimug.com/java/spring/%e5%b1%9e%e6%80%a7%e5%ba%8f%e5%88%97%e5%8c%96%e8%87%aa%e5%ae%9a%e4%b9%89%e6%8e%92%e5%ba%8f%e4%b8%8e%e5%ad%97%e6%af%8d%e8%a1%a8%e6%8e%92%e5%ba%8f-json%e6%a1%86%e6%9e%b6jackson%e7%b2%be%e8%a7%a3/.html) 本節繼續為大家介紹在JSON反序列化過程中,如何使用`@JacksonInject`註解和`@JsonAlias`註解 ## 一、`@JacksonInject`註解 在使用JSON格式進行反序列化的時候,我們經常有這樣一些需求。我們從客戶端或者其他渠道獲取了一個JSON格式的資料物件,該物件包含若干個屬性。但是我們在將JSON字串反序列化的時候,需要給它加上一些預設資料,比如: * responseTime資料響應時間,賦值為當前時間即可; * 資料反序列化的操作人,賦值為系統當前使用者等 客戶端返回給我們的資料本身不會攜帶這些附加資訊,這個時候我們就可以使用JacksonInject註解,在JSON字串反序列化為物件的時候,加上這些附加資訊。下面是JacksonInject使用方法 ~~~ @Data public class PlayerStar { private String name; private Integer age; private String[] hobbies; //業餘愛好,陣列 priv