Importance of @JsonUnwrapped annotation using Jackson in Java?



The @JsonUnwrapped annotation can be used to unwrap values during the serialization and deserialization process. It helps to render the values of a composed class as if it belongs to the parent class.

Syntax

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

Example

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

Output

{    "empId" : 110,    "empName" : "Raja Ramesh",    "doorNumber" : "1118",    "street" : "madhapur",    "pinCode" : "500081",    "city" : "Hyderabad" }
Updated on: 2020-07-09T06:43:52+05:30

993 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements