@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"
  }

  

 

posted @ 2025-02-13 11:06  Fyy发大财  阅读(82)  评论(0)    收藏  举报