@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,如果是 類,由於無法標記在屬性或方法上,所以,可以標記在類宣告上 也作用...