La anotación @JsonUnwrapped
es una anotación de la biblioteca Jackson para Java que se utiliza para indicar una propiedad no debe estar anidada en la estructura JSON resultante, sino que debe estar a nivel superior.
Por ejemplo, supongamos que tenemos una clase Person
que tiene una propiedad Address
que también es una clase con sus propias propiedades. Si queremos serializar un objeto Person
en JSON, la estructura resultante sería algo así como:
{
"name": "Juan",
"address": {
"street": "Calle 123",
"city": "Ciudad de México",
"state": "CDMX"
}
}
Sin embargo, si queremos que las propiedades de Address
estén en el mismo nivel que las propiedades de Person
, podemos utilizar la anotación @JsonUnwrapped
en la propiedad Address
. La clase Person
se vería así:
public class Person {
private String name;
@JsonUnwrapped
private Address address;
}
public class Address {
private String street;
private String city;
private String state;
}
Al serializar un objeto Person
utilizando esta clase, la estructura resultante sería:
{
"name": "Juan",
"street": "Calle 123",
"city": "Ciudad de México",
"state": "CDMX"
}
Como podemos ver, las propiedades de Address
se desempaquetaron y se incluyeron en el mismo nivel que las propiedades de Person
.
En resumen, la anotación @JsonUnwrapped
es una herramienta que puede ser útil en situaciones en las que queremos una estructura JSON más simple o para facilitar la integración con otros sistemas que esperan una estructura JSON específica.
Top comments (0)