Prezentare
Acest tutorial rapid va ilustra modul de utilizare Jackson 2 deserialize JSON folosind un custom Deserializer.
dacă doriți să săpați mai adânc și să învățați alte lucruri interesante pe care le puteți face cu Jackson 2 – head pe tutorialul principal Jackson.,
bibliografie:
Intro la Jackson ObjectMapper
Jackson – Decide ce domenii obține serializate/Deserializate
Jackson – Custom Serializer
Și, în sfârșit, să unmarshall acest JSON Java Entități:
Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);
Personalizat Deserializer pe ObjectMapper
În exemplul anterior, JSON reprezentare potrivit java entități perfect – viitor, vom simplifica JSON:
{ "id": 1, "itemName": "theItem", "createdBy": 2}
Când unmarshalling acest lucru la aceeași entități – în mod implicit, acest lucru va, desigur, nu:
Vom rezolva acest lucru prin a face propriile noastre deserializarea cu un custom Deserializer:
după Cum puteți vedea, deserializer este de lucru cu standardul Jackson reprezentarea JSON – a JsonNode., Odată ce JSON-ul de intrare este reprezentat ca un JsonNode, putem extrage acum informațiile relevante din acesta și putem construi propria entitate de articole.,
pur și Simplu pune, trebuie să înregistrați acest obicei deserializer și pur și simplu deserialize JSON în mod normal:
Personalizat Deserializer pe Clasa
Alternativ, ne puteți înregistra, de asemenea, deserializer direct pe clase:
@JsonDeserialize(using = ItemDeserializer.class)public class Item { ...}
Cu deserializer definite la nivel de clasă, nu este nevoie să-l înregistreze pe ObjectMapper – un default mapper va funcționa bine:
Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);
Acest tip de per-clasa de configurare este foarte util în situații în care nu putem avea acces direct la prime ObjectMapper pentru a configura.,
concluzie
Acest articol arată cum să utilizați Jackson 2 pentru a citi intrarea JSON non-standard – și cum să mapați acea intrare în orice Grafic de entitate java cu control complet asupra mapării.implementarea tuturor acestor exemple și fragmente de cod poate fi găsită în over on GitHub – este un proiect bazat pe Maven, deci ar trebui să fie ușor de importat și rulat așa cum este.
începeți cu arc 5 și Primăvara Boot 2, prin Învețe Primăvară curs:
>> CHECK OUT CURS
Lasă un răspuns