@JsonUnwrapped使用,将展开对象属性
1.引入jar
<!-- Jackson 核心库 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.15.2</version>
</dependency>
<!-- Jackson 数据绑定库 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
<!-- Jackson 注解库 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.15.2</version>
</dependency
2. 作用:当一个对象包含另一个复杂对象时,使用 @JsonUnwrapped 可以将内部对象的属性直接“展开”到外部对象中,而不是作为嵌套对象出现。
应用场景:假设你有一个类 A 包含一个类 B 的实例,通常情况下序列化后会生成嵌套的 JSON 结构。如果使用了 @JsonUnwrapped,则会将 B 的属性直接展现在 A 的 JSON 中。
示例:
public class Address {
public String street;
public String city;
}
public class User {
public String name;
@JsonUnwrapped
public Address address;
}
序列化后的 JSON 将是:
{
"name": "John",
"street": "123 Main St",
"city": "Anytown"
}
浙公网安备 33010602011771号