Chú thích @JsonUnwrapped có thể được sử dụng để mở các giá trị trong quá trình tuần tự hóa và giải mã hóa. Nó giúp hiển thị các giá trị của một lớp đã soạn như thể nó thuộc về lớp cha.
Cú pháp
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER}) @Retention(value=RUNTIME) public @interface JsonUnwrapped
Ví dụ
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"; } }
Đầu ra
{ "empId" : 110, "empName" : "Raja Ramesh", "doorNumber" : "1118", "street" : "madhapur", "pinCode" : "500081", "city" : "Hyderabad" }