常用Jackson註解解釋

2021-08-29 02:43:03 字數 1137 閱讀 2618

@jsonnaming(snakecasestrategy.class)

指定json欄位名對映策略為蛇形大小寫策略。預設則直接使用bean屬性名

可用的命名對映策略還有:

kebabcasestrategy: 肉串策略 - 單詞小寫,使用連字元'-'連線

snakecasestrategy: 蛇形策略 - 單詞小寫,使用下劃線'_'連線;即老版本中的lowercasewithunderscoresstrategy

lowercasestrategy: 小寫策略 - 簡單的把所有字母全部轉為小寫,不新增連線符

uppercamelcasestrategy: 駝峰策略 - 單詞首字母大寫其它小寫,不新增連線符;即老版本中的pascalcasestrategy

@jsonignoreproperties()

類註解,指定序列化時忽略這些屬性,可以用於覆蓋超類中預設輸出的屬性

@jsoninclude(include.non_empty)

僅在屬性不為空時序列化此欄位,對於字串,即null或空字串

@jsonignore

序列化時忽略此欄位

@jsonproperty(value = "user_name")

指定序列化時的欄位名,預設使用屬性名

@jsonformat(pattern = "yyyy-mm-dd hh:mm:ss", timezone = "gmt+8")

指定date類欄位序列化時的格式

private user user;

把成員物件中的屬性提公升到其容器類,並新增給定的字首,比如上例中: user類中有name和age兩個屬性,不使用此註解則序列化為:

... "user": ...

使用此註解則序列化為:

... "user_name": "***", "user_age": 22, ...

@jsonignoretype

類註解,序列化時忽略此類

@jsonidentityinfo(generator = objectidgenerators.propertygenerator.class,property = "id") 

作用於類或屬性上,被用來在序列化/反序列化時為該物件或字段新增乙個物件識別碼,通常是用來解決迴圈巢狀的問題

摘自:

Jackson常用註解介紹

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

Jackson 常用註解 annotation

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

Jackson常用註解介紹

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