Jackson 中的通用注释

2025年03月17日 | 阅读 9 分钟

通用 注释包括我们在序列化和反序列化中使用的几个基本注释。 JsonPropertyJsonView 是序列化和反序列化时常用的两个注释。

General Annotations in Jackson

让我们通过一个例子详细了解它们中的每一个

@JsonProperty

这是一个重要的通用注释,用于标记非标准的 getter/setter 方法,即与 Json 属性一起使用。 让我们举个例子来理解它是如何工作的

JsonPropertyExample.java

输出

General Annotations in Jackson

@JsonFormat

这是另一个重要的注释,用于在序列化和反序列化时指定格式。 它主要用于指定日期格式。

让我们举一个例子来理解如何使用注释来指定日期字段的格式。

JsonFormatExample.java

输出

General Annotations in Jackson

@JsonUnwrapped

这是另一个重要的注释,它包含在通用注释中。 它用于在序列化和反序列化时解包对象的值。

让我们举个例子来理解如何使用注释来包装值。

JsonUnwrapperdExample.java

输出

General Annotations in Jackson

@JsonUnwrapped

这是另一个重要的注释,用于控制要序列化还是不序列化的值。 让我们举一个例子来理解如何使用注释来控制这些值。

JsonViewExample.java

输出

General Annotations in Jackson

@JsonManagedReferences/@JsonBackReferences

@JsonManagedReference@JsonBackReferences 是两个重要的注释,用于显示与父子关系的关系。

@JsonManagedReference 用于引用父对象,而 @JsonBackReferences 用于标记子对象。

让我们举个例子来理解如何使用这两个注释来显示对象之间的关系。

JsonReferenceExample.java

输出

General Annotations in Jackson

@JsonIdentityInfo

当对象具有父子关系时,使用 @JsonIdentityInfo 表明在序列化/反序列化期间将使用对象标识。

让我们举个例子来理解 @JsonIdentityInfo 注释的工作原理。

JsonIdentityInfoExample.java

输出

General Annotations in Jackson

@JsonFilter

@JsonFilter 是另一个有用的注释,我们在序列化/反序列化时使用它来应用过滤器。

让我们举个例子来理解如何使用 @JsonFilter 应用过滤器。

JsonFilterExample.java

输出

General Annotations in Jackson