在 Java 中使用 Jackson 时,`@JsonUnwrapped` 注释的重要性是什么?


@JsonUnwrapped 注释可以用来在序列化和反序列化过程中解包值。它有助于将组合类的值呈现为它属于父类。

语法

@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER})
@Retention(value=RUNTIME)
public @interface JsonUnwrapped

示例

import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
public class JsonUnwrappedAnnotationTest {
   public static void main(String args[]) throws JsonProcessingException {
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(new Employee());
      System.out.println(jsonString);
   }
}
class Employee {
   public int empId = 110;
   public String empName = "Raja Ramesh";
   @JsonUnwrapped
   public Address address = new Address();
   // Address class 
   public static class Address {
      public String doorNumber = "1118";
      public String street = "madhapur";
      public String pinCode = "500081";
      public String city = "Hyderabad";
   }
}

输出

{
   "empId" : 110,
   "empName" : "Raja Ramesh",
   "doorNumber" : "1118",
   "street" : "madhapur",
   "pinCode" : "500081",
   "city" : "Hyderabad"
}

更新于: 09-Jul-2020

609 次浏览

开启你的 职业生涯

完成课程获得认证

入门
广告