English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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 { 110public int empId =
   ;
   public String empName = "Raja Ramesh";
   @JsonUnwrapped
   //public Address address = new Address(); 
   주소 분류
      public static class Address {1118public String pinCode = ""
      public String doorNumber = ""
      public String street = "madhapur";500081public String pinCode = ""
      ";"
   {}
{}

public String city = "Hyderabad";

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