Panoramica

Questo breve tutorial illustrerà come utilizzare Jackson 2 per deserializzare JSON utilizzando un deserializzatore personalizzato.

Se vuoi scavare più a fondo e imparare altre cose interessanti che puoi fare con Jackson 2 – vai al tutorial principale di Jackson.,

Ulteriori letture:

Introduzione all’ObjectMapper di Jackson

L’articolo discute la classe ObjectMapper centrale di Jackson, la serializzazione e la deserializzazione di base e la configurazione dei due processi.
Read more →

Jackson – Decidi quali campi vengono serializzati/deserializzati

Come controllare quali campi vengono serializzati/deserializzati da Jackson e quali campi vengono ignorati.,
Per saperne di più →

Jackson – Custom Serializer

Controlla il tuo output JSON con Jackson 2 utilizzando un serializzatore personalizzato.,>

E infine, unmarshall questo JSON Java Entità:

Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);

Custom Deserializer su ObjectMapper

Nell’esempio precedente, la rappresentazione JSON abbinati java entità perfettamente a quel punto, possiamo semplificare JSON:

{ "id": 1, "itemName": "theItem", "createdBy": 2}

Quando unmarshalling questo esattamente con la stessa entità – per impostazione predefinita, ovviamente questo errore:

risolviamo questo facendo nostra la deserializzazione con un costume Deserializer:

Come si può vedere, il deserializer sta lavorando con lo standard Jackson rappresentazione JSON – il JsonNode., Una volta che l’input JSON è rappresentato come un JsonNode, ora possiamo estrarre le informazioni rilevanti da esso e costruire la nostra entità Item.,

Semplicemente, dobbiamo registrare questa usanza deserializer e semplicemente deserializzare il JSON normalmente:

Custom Deserializer di Classe

in Alternativa, si può anche registrare il deserializer direttamente sulla classe:

@JsonDeserialize(using = ItemDeserializer.class)public class Item { ...}

Con il deserializer definiti a livello di classe, non c’è bisogno di registrare il ObjectMapper – un default mapper funziona bene:

Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);

Questo tipo di classe che la configurazione è molto utile in situazioni in cui non abbiamo accesso diretto al grezzo ObjectMapper da configurare.,

Conclusione

Questo articolo mostra come sfruttare Jackson 2 per leggere l’input JSON non standard e come mappare quell’input a qualsiasi grafico di entità java con il pieno controllo sulla mappatura.

L’implementazione di tutti questi esempi e frammenti di codice può essere trovata in over on GitHub – è un progetto basato su Maven, quindi dovrebbe essere facile da importare ed eseguire così com’è.

Inizia con Spring 5 e Spring Boot 2, attraverso il corso Learn Spring:

> >SCOPRI IL CORSO

Precedente

Steve Carell (Italiano)

Successivo

Libri elettronici

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *