常用Jackson注解解释

Posted sixp512720288

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用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

以上是关于常用Jackson注解解释的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#jackson学习之七:常用Field注解

jackson常用注解和spring中的配置

#yyds干货盘点#jackson学习之六:常用类注解

jackson学习之六:常用类注解

jackson学习之六:常用类注解

Jackson总结:常用注解整合spring自定义JsonSerializer