Jackson类库包含了很多注解,可以让我们快速建立Java类与JSON之间的关系。详细文档可以参考Jackson-Annotations。下面介绍一下常用的。
注解 | 描述 |
---|---|
属性注解 | |
@JsonProperty | 指示要包含属性。用于指示外部属性名称、数据格式中使用的名称(JSON 或其他受支持的数据格式之一)。 |
@JsonProperty.value | |
要使用的名称 | |
@JsonProperty.index | |
如果数据格式(JSON 除外)是基于索引的,则要使用的物理索引 | |
@JsonProperty.defaultValue | |
定义为元数据的文本默认值。注意:核心数据绑定不会使用此值;它目前仅向扩展模块公开。 | |
@JsonIgnore | 用于忽略某个属性,这样该属性就不会被Jackson序列化和反序列化。 |
类注解 | |
@JsonPropertyOrder | 和**@JsonProperty**的index属性类似,指定属性序列化时的顺序。 |
@JsonRootName | 用于指定JSON根属性的名称。 |
@JsonIgnoreType | 排除所有指定类型的属性。 |
@JsonIgnoreProperties(ignoreUnknown=true) | 在序列化为JSON的时候。,会忽略所有没有Getter和Setter的属性。该注解在Java类和JSON不完全匹配的时候很有用。 |
@JsonIgnoreProperties({“prop1”, “prop2”}) | 在从JSON反序列化为Java类的时候,会忽略pro1和pro2两个属性。 |