Jackson常用註解介紹

2021-07-15 16:23:42 字數 897 閱讀 4778

jackson預設是針對get方法來生成json字串的,可以使用註解來做一些特殊用途;常見的使用如下:

1 排除屬性

@jsonignore,一般標記在屬性或方法上;作用於序列化與反序列化;

@jsonignoreproperties,如果是**類,由於無法標記在屬性或方法上,所以,可以標記在類宣告上;也作用於反序列化時的字段解析;

2 屬性別名

@jsonproperty,序列化/反序列化都有效;

3 屬性排序

@jsonpropertyorder,注釋在類宣告中;

4 屬性格式轉換

使用自定義序列化/反序列化來處理;

@jsonserialize,序列化;

@jsondeserialize,反序列化;

注意:在使用hibernate的時候,查詢資料庫後產生的實體類是個**類,這時候轉換json會報錯;

解決方法有兩種:

1)設定fail_on_empty_beans屬性,告訴jackson空物件不要拋異常;

2)使用@jsonignoreproperties註解

在實體類宣告處加上@jsonignoreproperties(value = )註解;

建議使用@jsonignoreproperties註解,這樣生成的json中不會產生多餘的字段;

5 父/子關聯

@jsonmanagedreference,放在父親類中;

@jsonbackreference,放在孩子類中;

6 去掉包裝

ability to map json like

to classes defined as:

class place

class location

參考:_44238_1356358422.html

Jackson常用註解介紹

jackson預設是針對get方法來生成json字串的,可以使用註解來做一些特殊用途 常見的使用如下 1 排除屬性 jsonignore,一般標記在屬性或方法上 作用於序列化與反序列化 jsonignoreproperties,如果是 類,由於無法標記在屬性或方法上,所以,可以標記在類宣告上 也作用...

Jackson 常用註解 annotation

1 jsonautodetect 自動檢測,作用在類上 來開啟 禁止自動檢測。fieldvisibility 欄位的可見級別 any 任何級別的字段都可以自動識別 none 所有欄位都不可以自動識別 non private 非private修飾的字段可以自動識別 protected and publ...

常用Jackson註解解釋

jsonnaming snakecasestrategy.class 指定json欄位名對映策略為蛇形大小寫策略。預設則直接使用bean屬性名 可用的命名對映策略還有 kebabcasestrategy 肉串策略 單詞小寫,使用連字元 連線 snakecasestrategy 蛇形策略 單詞小寫,使...