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

La importancia de la anotación @JsonUnwrapped de Jackson en Java

@JsonUnwrapped comentario可以在序列化和反序列化过程中使用解开值。它有助于呈现组合类的值,就像它属于父类一样。

Se puede usar para desempaquetar valores durante la serialización y deserialización. Ayuda a presentar valores de clases combinadas, como si pertenecieran a la clase padre.

Sintaxis
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER})
@Retention(value=RUNTIME)

public @interface JsonUnwrapped

Ejemplo
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(); 
   Categoría de dirección
      public static class Address {1118public String pinCode = ""
      public String doorNumber = ""
      public String street = "madhapur";500081public String pinCode = ""
      ";
   }
}

public String city = "Hyderabad";

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