DEV Community

Cover image for Anotación @JsonUnwrapped
Ciro
Ciro

Posted on • Edited on

Anotación @JsonUnwrapped

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"
    }
}
Enter fullscreen mode Exit fullscreen mode

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;
}
Enter fullscreen mode Exit fullscreen mode

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"
}
Enter fullscreen mode Exit fullscreen mode

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.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay