首页 > 技术文章 > Jackson注解简介

mlfz 2019-04-12 11:18 原文

1.注解: @JsonInclude(JsonInclude.Include.NON_NULL)

 

1、如果放在属性上,如果该属性为NULL则不参与序列化 ;
2、如果放在类上,那对这个类的全部属性起作用 ;

参数意义:

JsonInclude.Include.ALWAYS              默认

JsonInclude.Include.NON_DEFAULT     属性为默认值不序列化

JsonInclude.Include.NON_EMPTY         属性为 空字符串("") 或者为 NULL 都不序列化

JsonInclude.Include.NON_NULL           属性为NULL   不序列

 

2.注解:@JsonProperty:用于指明属性的名称。

3.注解:@JsonIgnore:用于忽略指定属性,当该注解出现在field、getter、setter或者构造方法中任意一个上时,都意味着忽略所有(即序列化和反序列化都被忽略);有一种情况,当getter上注解@JsonIgnore而setter上注解@JsonProperty,就会出现“只读”情况(read from input, but is not written output)。

4.@JsonIgnoreType:作用于类,表示被注解该类型的属性(这里不是指被注解类的成员变量,而是被注解类作为别的类的成员变量)将不会被序列化和反序列化。@JsonIgnoreType(value=false)表示该注解不起作用,默认为true。

5.@JsonIgnoreProperties:作用于实体类的注解(注解在属性貌似没效果),用于忽略某些属性,如果指定ignoreUnknown=true,则反序列化时忽略所有未知的属性;allowGetters使得被忽略的属性在序列化时是可见的,即序列化时忽略失效了;allowSetters对应反序列化。

 

推荐阅读