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