1. 程式人生 > >常用Jackson註解解釋

常用Jackson註解解釋

@JsonNaming(SnakeCaseStrategy.class) 指定Json欄位名對映策略為蛇形大小寫策略。預設則直接使用Bean屬性名 可用的命名對映策略還有: KebabCaseStrategy: 肉串策略 - 單詞小寫,使用連字元'-'連線 SnakeCaseStrategy: 蛇形策略 - 單詞小寫,使用下劃線'_'連線;即老版本中的LowerCaseWithUnderscoresStrategy LowerCaseStrategy: 小寫策略 - 簡單的把所有字母全部轉為小寫,不新增連線符 UpperCamelCaseStrategy: 駝峰策略 - 單詞首字母大寫其它小寫,不新增連線符;即老版本中的PascalCaseStrategy @JsonIgnoreProperties({"id", "created", "steps", "copy", "stepList"}) 類註解,指定序列化時忽略這些屬性,可以用於覆蓋超類中預設輸出的屬性 @JsonInclude(Include.NON_EMPTY) 僅在屬性不為空時序列化此欄位,對於字串,即null或空字串 @JsonIgnore 序列化時忽略此欄位 @JsonProperty(value = "user_name") 指定序列化時的欄位名,預設使用屬性名 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 指定Date類欄位序列化時的格式 @JsonUnwrapped(prefix = "user_") private User user; 把成員物件中的屬性提升到其容器類,並新增給定的字首,比如上例中: User類中有name和age兩個屬性,不使用此註解則序列化為: ... "user": { "name": "xxx", "age": 22 } ... 使用此註解則序列化為: ... "user_name": "xxx", "user_age": 22, ... @JsonIgnoreType 類註解,序列化時忽略此類 @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property = "id") 

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

摘自:http://blog.csdn.net/rocks_lee/article/details/52774459