Razred ObjectMapper v Jacksonu
ObjectMapper je eden najpomembnejših razredov, ki so na voljo v Jackson knjižnica. Uporablja se za branje in pisanje podatkov JSON. Odgovoren je za branje podatkov iz ali v datoteko POJO ter v in iz drevesnega modela JSON.
Obstajajo naslednje značilnosti razreda ObjectMapper:
- Podpira napredne koncepte, kot je npr Polimorfizem in Prepoznavanje predmeta.
- Zelo prilagodljiv je za delo z različnimi slogi vsebine JSON.
- Deluje kot tovarna za vnaprej ObjectReader in ObjectWriter razredi.
Razred ObjectMapper je deklariran na naslednji način:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Ugnezdeni razredi
Naslednja tabela definira razrede, ki razširjajo razred ObjectMapper ali, lahko rečemo, ugnezdene razrede razreda ObjectMapper.
| Razred | Opis |
|---|---|
| DefaultTypeResolverBuilder | Je prilagojena TypeResolverBuilder razred, ki se uporablja za pridobivanje graditeljev razreševalcev vrst, s katerimi lahko uporabljamo 'privzeto tipkanje'. |
| Privzeto tipkanje | Za določitev vrste tipov se naštevanja uporabljajo z metodo enableDefaultTyping(). |
Zdaj pa poglejmo polja, konstruktorje in metode razreda ObjectMapper:
Polja razreda ObjectMapper
protected DefaultDeserializationContext _deserializationContext
To je predmet konteksta načrta, ki je shranjen za omogočanje podrazredov po meri.
protected DeserializationConfig _deserializationConfig
Je konfiguracijski objekt, ki se uporablja za definiranje osnovnih globalnih nastavitev za postopek deserializacije.
zaščiten JsonFactory jsonFactory
Za ustvarjanje primerka JsonParser in JsonGenerator se uporablja JsonFactory.
protected InjectableValues _injectableValues
Je ponudnik, ki se uporablja za vbrizgavanje vrednosti v deserializirane POJO.
protected ConfigOverrides _propertyOverrides
Uporablja se za dostop do trenutno aktivnih preglasitev konfiguracije posamezne vrste.
zaščiten SimpleMixInResolver _mixIns
To je preslikava, ki se uporablja za definiranje načina uporabe mešanih opomb. Preslikava poteka na naslednji način:
ključ: Vnesite, če želite prejeti dodatne opombe.
Vrednost: Tip, ki ima opombe, ki jih je treba 'pomešati'
protected Set _registeredModuleTypes
To je nabor, ki definira nabor tipov modulov, ki so bili registrirani.
protected SerializationConfig _serializationConfig
Je tudi konfiguracijski objekt, ki se uporablja za definiranje osnovnih globalnih nastavitev za postopek serializacije.
zaščiten ConcurrentHashMap
To je zemljevid, ki se uporablja za spremljanje de-serializatorjev na korenski ravni. To je zemljevid glavne ravni.
zaščiteno SerializerFactory _serializerFactory
To je tovarna, ki se uporablja za izdelavo serializatorjev.
protected SubtypeResolver _subtypeResolver
Uporablja se za registracijo podtipov in njihovo reševanje za super/podtipe, kot je potrebno.
zaščiten TypeFactory _typeFactory
To je tovarna, ki se uporablja za ustvarjanje primerkov JavaType. Potrebni so, da modulom omogočijo dodajanje več ravnanja s tipi po meri.
protected DefaultSerializerProvider _serializerProvider
Je objekt, ki je odgovoren za upravljanje dostopa do serializatorjev, ki se uporabljajo za serializacijo.
zaščitene statične osnovne nastavitve DEFAULT_BASE
Osnovne nastavitve vključujejo privzete vrednosti, ki se uporabljajo za vse primerke ObjectMapper.
Konstruktorji razreda ObjectMapper
Obstajajo naslednji konstruktorji razreda ObjectMapper:
| Konstruktor | Opis |
|---|---|
| ObjectMapper() | Je privzeti konstruktor, ki se uporablja za izdelavo primerka, ki uporablja privzeto JsonFactory, SerializerProvider, in BeanSerializerFactory. |
| ObjectMapper (tovarna JsonFactory) | Uporablja se za izdelavo primerka, ki uporablja dano JsonFactory. Dana JsonFactory se uporablja za konstrukcijo JsonParsers in/ali JsonGenerators. |
| ObjectMapper (tovarna JsonFactory, SerializerProvider provider1, DeserializerProvider provider2) | Uporablja se za izdelavo primerka, ki uporablja dano JsonFactory, SerializerProvider, in DeserializerProvider. Dana JsonFactory se uporablja za konstrukcijo JsonParsers in/ali JsonGenerators. |
| zaščiten ObjectMapper(Preslikač ObjectMapper) | Je konstruktor kopiranja za podporo copy(). |
Metode razreda ObjectMapper
Razred ObjectMapper definira naslednje metode:
| Metoda | Vrsta povratka | Opis |
|---|---|---|
| _checkInvalidCopy(razred exp) | praznina | Uporablja se za preverjanje neveljavne kopije. |
| _configAndWriteValue(JsonGenerator g, vrednost predmeta) | praznina | Uporablja se za konfiguracijo generatorja, kadar je to potrebno, in nato izvajanje funkcije pisanja. |
| _convert(Object fromValue, JavaType toValueType) | Objekt | Uporablja se za pridobitev dejanske izvedbe konverzije. Tu se metode branja in pisanja ne uporabljajo za kodo. |
| _initForReading(JsonParser p) | JsonToken | Uporablja se za zagotavljanje, ali je dani razčlenjevalnik pripravljen za branje vsebine za vezavo podatkov ali ne. |
| _findRootDeserializer(DeserializationContext ctxt, JavaType valueType) | JsonDeserializator | Za posredovano vrednost na korenski ravni, če želimo poiskati deserializator, uporabimo to metodo. |
| _newReader(konfiguracija DeserializationConfig) Podobna metoda:
| ObjectReader | To je tovarniška metoda, tj. uporablja se za pridobivanje primerkov ObjectReader ustreznega podtipa. Za uporabo te metode je nujno, da morajo podrazredi preglasiti. |
| _newWriter(konfiguracija SerializationConfig) Podobne metode:
| ObjectWriter | To je tovarniška metoda, tj. uporablja se za pridobivanje primerkov ObjectWriter ustreznega podtipa. Za uporabo te metode je nujno, da morajo podrazredi preglasiti. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) | Objekt | Uporablja se za pridobivanje predmeta, ki definira operacijo branja vrednosti in vezave. |
| _serializerProvider(konfiguracija SerializationConfig) | DefaultSerializerProvider | Je preglasljiva pomožna metoda, ki se uporablja za izdelavo SerializerProvider. |
| acceptJsonFormatVisitor(vrsta razreda, obiskovalec JsonFormatVisitorWrapper) Podobna metoda:
| praznina praznina | Če želimo z navedenim obiskovalcem obiskati hierarhijo tipov določenega tipa, uporabimo to metodo. |
| addHandler(DeserializationProblemHandler h) | ObjectMapper | Za obravnavo določenih težav med deserializacijo uporabimo podani DeserializationProblemHandler, za dodajanje obdelovalca pa uporabimo to metodo. |
| addMixIn(cilj razreda, razred mixinSource) | ObjectMapper | Za uporabo vmesne opombe za določen razred ali vmesnik za dodajanje uporabimo to metodo za dodajanje. |
| canDeserialize(vrsta JavaType) | Boolean | Uporablja se za preverjanje, ali lahko preslikavec de-serializira objekt podanega tipa ali ne. |
| canDeserialize(vrsta JavaType, vzrok AtomicReference) | Boolean | Podobna je prejšnji metodi. Edina razlika je v tem, da lahko vrne metanje, ki je bilo vrženo v času konstruiranja serializatorja. Za odkrivanje dejanske težave se lahko uporabi metanje. |
| canSerialize(vrsta razreda) | Boolean | Uporablja se za preverjanje, ali lahko preslikavalec serializira objekt podane vrste ali ne. |
| canSerialize(vrsta razreda, vzrok AtomicReference) | Boolean | Podobna je prejšnji metodi. Edina razlika je v tem, da lahko vrne metanje, ki je bilo vrženo v času konstruiranja serializatorja. Za odkrivanje dejanske težave se lahko uporabi metanje. |
| clearProblemHandlers() | ObjectMapper | To je ena od metod, ki se uporablja za odstranitev vseh primerkov DeserializationProblemHandlers iz preslikava, ki so registrirani. |
| configure(DeserializationFeature f, logično stanje) podobne metode:
| ObjectMapper | Uporablja se za spreminjanje stanja vklopa/izklopa deserializacije, Json Generator, JsonParser, Mapper ali funkcije Serialization za preslikavo objektov, primerke generatorja, primerke razčlenjevalnika, primerke preslikave ali preslikave objektov. |
| constructType(Tip t) | JavaType | Če želimo sestaviti JavaType iz danega tipa brez eksplicitnega konteksta, uporabimo to metodo. |
| convertValue(Object fromValue, Class toValueType) Podobne metode:
| T | Če želimo izvesti dvostopenjsko pretvorbo dane vrednosti v primerek danega tipa vrednosti, uporabimo metodo converValue(). |
| createArrayNode() | ArrayNode | Uporablja se za ustvarjanje ArrayNode. |
| defaultClassIntrospector() | ClassIntrospector | Če želimo uporabiti privzeti ClassIntrospector, za njegovo konstrukcijo uporabimo to pomožno metodo Overridable. |
| onemogoči (funkcija DeserializationFeature) Podobne metode:
| ObjectMapper | Uporablja se za onemogočanje podane DeserializationConfig, JsonGenerator.Features za primerke razčlenjevalnika, JsonParser.Features za primerke razčlenjevalnika preslikava objektov. |
| disableDefaultTyping() | ObjectMapper | Velikokrat moramo onemogočiti samodejno vključitev podatkov o vrsti in v ta namen uporabimo ta način. |
omogoči (funkcija DeserializationFeature)
| ObjectMapper | Uporablja se za omogočanje dane DeserializationConfig, JsonGenerator.Features za primerke razčlenjevalnika, JsonParser.Features za primerke razčlenjevalnika preslikava objektov. |
| enableDefaultTyping() Podobne metode:
| ObjectMapper | Da bi uporabili samodejno vključitev informacij o tipu za de-serializacijo polimorfnih tipov., uporabljamo to metodo, da to omogočimo. |
| findAndRegisterModules() | ObjectMapper | Podobna je metodi mapper.registerModules(mapper.findModules()). |
| findModules() Podobne metode:
| Seznam | Uporablja se za iskanje razpoložljivih metod. Metoda uporablja pripomoček JDK ServiceLoader s SPI, ki ga zagotavlja modul. |
| getDateFormat() | Format datuma | Uporablja se za pridobitev oblike datuma. |
| getDeserializationConfig() | DeserializationConfig | Uporablja se za pridobivanje skupnega privzetega objekta DeserializationConfig. Vrnjeni objekt definira konfiguracijske nastavitve za deserializacijo. |
| getDeserializationContext() | Kontekst deserializacije | Uporablja se za pridobitev trenutnega DeserializationContext. |
| getFactory() | JsonFactory | Če mora preslikavec izdelati razčlenjevalnik in generatorje Json, potrebuje tovarno json, za pridobitev tega pa uporabimo metodo getFactory(). |
| getInjectableValues() | InjectableValues | Uporablja se za pridobivanje vrednosti za injiciranje. |
| getJsonFactory() | JsonFactory | To je zastarela metoda za pridobitev tovarne Json. |
| getNodeFactory() | JsonNodeFactory | Uporablja se za pridobitev tovarne JsonNodeFactory, ki jo uporablja preslikavec v času neposredne konstruiranja korenskih primerkov JsonNode za drevesa. |
| getPropertyNamingStrategy() | PropertyNamingStrategy | Kot pove ime, se uporablja za strategijo poimenovanja nepremičnine. |
| getSerializationConfig() | SerializationConfig | Uporablja se za pridobitev skupnega privzetega predmeta SerializationConfig. Vrnjeni objekt definira konfiguracijske nastavitve za serializacijo. |
| getSerializerFactory() | SerializerFactory | Uporablja se za pridobitev trenutne SerializerFactory. |
| getSerializerProvider() | SerializerProvider | Je dostopnik za tovarno, ki se uporablja za ustvarjanje primerkov s klicem DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory). |
| getSerializerProviderInstance() | SerializerProvider | To je dostopnik, ki se uporablja za izdelavo in vrnitev primerka SerializerProvider, ki ga lahko uporabimo za dostop do serializatorjev. |
| getSubtypeResolver() | SubtypeResolver | Uporablja se za dostop do uporabljenega razreševalnika podtipov. |
| getTypeFactory() | TypeFactory | To je dostopnik, ki se uporablja za pridobitev primerka trenutno konfiguriranega TypeFactory. |
| getVisibilityChecker() | VisibilityChecker | Uporablja se za dostop do trenutno konfiguriranega preverjalnika vidnosti. |
| isEnabled(deserializationFeature f) Podobne metode:
| Boolean | Metoda isEnable() in njene različice se uporabljajo za preverjanje, ali je dana funkcija, specifična za deserializacijo, JsonFactory, JsonGenerator, JsonParser, Mapper ali Serialization, omogočena ali ne. |
| mixInCount() | int | Uporablja se za pridobitev števila mixIn. |
| bralec() Podobne metode:
| ObjectReader | Metoda reader() in njene različice so tovarniške metode, ki se uporabljajo za izdelavo primerka ObjectReader. Na podlagi zahteve lahko prenesemo različico kodiranja Base64 za binarne podatke, kodirane z Base64, privzete atribute, omogočene funkcije, vrednosti, ki jih je mogoče vstaviti, JsonNodeFactory za izdelavo dreves JSON. |
| readerFor(vrsta razreda) | ObjectReader | To je tovarniška metoda, ki se uporablja za konstruiranje ObjectReaderja, ki omogoča operacije branja ali posodabljanja za primerke navedenega tipa. |
| readerFor(vrsta JavaType) | ObjectReader | To je tovarniška metoda, ki se uporablja za konstruiranje ObjectReaderja, ki omogoča operacije branja ali posodabljanja za primerke podanega JavaType. |
| readerFor(vrsta TypeReference) | ObjectReader | To je tovarniška metoda, ki se uporablja za konstruiranje ObjectReaderja, ki omogoča operacije branja ali posodabljanja za primerke danega TypeReference. |
| readerForUpdating(Object valueToUpdate) | ObjectReader | To je tovarniška metoda, ki se uporablja za izdelavo ObjectReaderja, ki omogoča operacije posodabljanja danega objekta. |
| readerWithView(pogled razreda) | ObjectReader | To je tovarniška metoda, ki se uporablja za izdelavo ObjectReaderja, ki omogoča deserializacija objektov z danim pogledom JSON. |
readTree(byte[] content)
| JsonNode ALI T | ReadTree() in njegove različice se uporabljajo za deserializacijo vsebine JSON kot drevesa, izraženega z nizom primerkov JsonNode. |
| readValue(byte[] src, Class valueType) Podobne metode
| T ALI MappingIterator | ReadValue() in njegove različice se uporabljajo za deserializacijo vsebine JSON
|
| readValues(JsonParser p, Class valueType) Podobne metode:
| MappingIterator | ReadValues() in njegove različice se uporabljajo za branje zaporedja objektov iz toka razčlenjevalnika. |
| registerModule(modul modula) Podobne metode:
| ObjectMapper | RegisterModule() in njegove različice se uporabljajo za registracijo modula z zmožnostjo razširitve funkcionalnosti, ki jo zagotavlja preslikavalec. |
| registerSubtypes(NamedType... vrste) | praznina | Uporablja se za registracijo danega razreda kot podtipa. S tem lahko razrešitev na podlagi imena tipa poveže supertipe s podtipi. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | ObjectMapper | Uporablja se za nastavitev AnnotationIntrospector, ki ga uporablja primerek preslikave tako za serializacijo kot de-serializacijo. |
| setAnnotationIntrospectors(AnnotationIntrospector serializatorAI, AnnotationIntrospector deserializerAI) | ObjectMapper | Uporablja se za spreminjanje primerka AnnotationIntrospector, ki ga trenutni primerek preslikave uporablja za serializacijo in deserializacijo. |
| setBase64Variant(Base64Variant v) | ObjectMapper | Uporablja se za konfiguracijo privzete različice Base64Variant, ki jo bodo uporabljali serializatorji byte[] in de-serializatorji. |
| setConfig(DeserializationConfig config) | ObjectMapper | Za izvedbo preglasitve osnovnega objekta DeserializationConfig uporabljamo to metodo. |
| setConfig(SerializationConfig config) | ObjectMapper | Za izvedbo preglasitve osnovnega predmeta SerializationConfig, ki ima konfiguracijske nastavitve, specifične za serializacijo, uporabljamo to metodo. |
| setDateFormat(DateFormat dateFormat) | ObjectMapper | Uporablja se za konfiguracijo privzete DateFormat za uporabo v času serializacije časovnih vrednosti kot nizov ali de-serializacije iz nizov JSON. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | ObjectMapper | Uporablja se za določitev PrettyPrinterja za njegovo uporabo, ko je omogočeno 'privzeto lepo tiskanje'. |
| setDefaultTyping(tipkalnik TypeResolverBuilder) | ObjectMapper | Uporablja se za omogočanje samodejnega vključevanja informacij o vrsti. |
| setHandlerInstantiator(HandlerInstantiator zdravo) | Objekt | Uporablja se za konfiguracijo HandlerInstantiatorja za ustvarjanje primerkov obdelovalcev. |
| setFilterProvider(FilterProvider filterProvider) | ObjectMapper | Uporablja se za konfiguracijo trenutnega preslikava za uporabo določenega FilterProvider za preslikavo ID-jev filtrov v dejanske primerke filtrov. |
| setInjectableValues(InjectableValues injectableValues) | ObjectMapper | Uporablja se za konfiguracijo InjectableValues, ki se uporablja za iskanje vrednosti za vbrizgavanje. |
| setLocale(lokalno l) | ObjectMapper | Uporablja se za preglasitev privzetih področnih nastavitev za oblikovanje. |
| setMixInResolver(ClassIntrospector.MixInResolver razreši) | ObjectMapper | To metodo uporabljamo za podajanje danega razreševalnika za iskanje mešanih razredov za uporabo, pri čemer preglasimo neposredno dodane preslikave. |
| setMixInAnnotations(Zemljevid | praznina | To je amortizirana metoda za definiranje opomb mešanja. |
| setNodeFactory(JsonNodeFactory f) | ObjectMapper | Uporablja se za določitev JsonNodeFactory za uporabo za konstruiranje drevesnih vozlišč korenske ravni. |
| setMixIns(Zemljevid | ObjectMapper | Uporablja se za definiranje mešanih opomb, ki se uporabljajo za razširitev opomb, ki jih imajo razredi, ki jih je mogoče obdelati. |
| setPropertyInclusion(JsonInclude.Value incl) | ObjectMapper | Uporablja se za nastavitev privzete strategije vključitve lastnosti POJO za serializacijo. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | ObjectMapper | Uporablja se za nastavitev strategije poimenovanja lastnosti po meri. |
| setSerializerFactory(SerializerFactory f) | ObjectMapper | Uporablja se za nastavitev posebne tovarne SerializerFactory za uporabo pri izdelavi (bean) serializatorjev. |
| setSerializerProvider(DefaultSerializerProvider p) | ObjectMapper | Uporablja se za nastavitev primerka 'načrta' SerializerProvider za uporabo kot osnovo za dejanske primerke ponudnika, ki se uporabljajo za upravljanje predpomnjenja primerkov JsonSerializer. |
| setSubtypeResolver(SubtypeResolver str) | ObjectMapper | Uporablja se za nastavitev razreševalnika podtipa po meri za uporabo. |
| setTimeZone(TimeZone tz) | ObjectMapper | Uporablja se za preglasitev privzetega časovnega pasu, ki se uporablja za oblikovanje. |
| setTypeFactory(TypeFactory f) | ObjectMapper | Uporablja se za preglasitev primerka TypeFactory, ki ga uporablja trenutni preslikavec. |
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility vidnost)
| ObjectMapper | SetVisibility() in njegova različica se uporabljajo za nastavitev trenutno konfiguriranega VisibilityCheckerja. Vrnjeni primerek ObjectMapper se uporablja za preverjanje, ali je podani element lastnosti mogoče samodejno zaznati ali ne. |
| treeAsTokens(TreeNode n) | JsonParser | Uporablja se za izdelavo JsonParserja iz drevesne predstavitve JSON. |
| treeToValue(TreeNode n, Class valueType) | T | Uporablja se za vezavo podatkov, ki jih vsebuje drevo JSON, v določeno vrsto vrednosti. |
| različica() | Različica | Uporablja se za pridobivanje informacij o različici, shranjenih v kozarcu, ki vsebuje ta razred, in za branje iz njega. |
pisatelj()
| ObjectWriter | Write() in njegove različice se uporabljajo za konstruiranje ObjectWriterja s privzetimi nastavitvami, glede na različico kodiranja Base64 za binarne podatke, kodirane z Base64, podrobnosti o uhajanju znakov za izpis, privzete atribute, DateFormat, ponudnika filtra, objekt sheme v JsonGenerator, ki se uporablja za pisanje vsebine, lep tiskalnik za zamik ali omogočena funkcija. |
| writerFor(razred rootType) - | ObjectWriter | Uporablja se za konstruiranje ObjectWriterja za serializacijo objektov z uporabo podanega korenskega tipa namesto dejanskega izvajalnega tipa vrednosti. |
| writerFor(JavaType rootType) | ObjectWriter | Uporablja se za konstruiranje ObjectWriterja za serializacijo objektov z uporabo podanega korenskega tipa namesto dejanskega izvajalnega tipa vrednosti. |
| writerFor(TypeReference rootType) | ObjectWriter | Uporablja se za konstruiranje ObjectWriterja za serializacijo objektov z uporabo podanega korenskega tipa namesto dejanskega izvajalnega tipa vrednosti. |
| writerWithDefaultPrettyPrinter() | ObjectWriter | To je tovarniška metoda, ki se uporablja za izdelavo ObjectWriterja za serializacijo objektov z uporabo precej privzetega tiskalnika za zamik. |
writerWithType(KorenskiTip razreda)
| ObjectWriter | Te metode so amortizirane in namesto njih uporabljamo metodo writerFor(TypeReference). |
| writerWithView(Class serializationView) | ObjectWriter | To je tovarniška metoda, ki se uporablja za izdelavo ObjectWriterja za serializacijo objektov z uporabo podanega pogleda JSON. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | praznina | Uporablja se za serializacijo ponujenega drevesa JSON z uporabo podanega JsonGeneratorja. |
| writeValue(File resultFile, Object value) | praznina | Uporablja se za serializacijo vrednosti Java kot izhod JSON in njeno pisanje v dano mapa. |
| writeValue(JsonGenerator g, vrednost objekta). | praznina | Uporablja se za serializacijo vrednosti Java kot izhod JSON z uporabo podanega JsonGenerator. |
| writeValue(OutputStream out, Object value) | praznina | Uporablja se za serializacijo vrednosti Java kot izhod JSON z uporabo podanega OutputStream. |
| writeValue(Writer w, vrednost predmeta) | praznina | Uporablja se za serializacijo vrednosti Java kot izhod JSON z uporabo podanega Pisatelj. |
| writeValueAsBytes(vrednost predmeta) | bajt[] | Uporablja se za serializacijo vrednosti Java kot niz bajtov. |
| writeValueAsString(vrednost predmeta) | Vrvica | Uporablja se za serializacijo vrednosti Java kot niz. |
JacksonExample.java
//import required classes and package if any package javaTpoint.Jackson; import java.io.IOException; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; //create class JacksonExample to understand implementation of Jackson public class JacksonExample { // main() method start public static void main(String args[]){ // create an instance of ObjectMapper class ObjectMapper mapper = new ObjectMapper(); // create a JSON string of employee details to deserilized object String stdString = '{
'students' : [
{
'stdId':'001',
'course':'MCA','+'
'firstName':'Nicholas',
'lastName':'Clemens',
'preferredFullName':'Nicholas Clemens','+'
'enrol':'S010',
'region':'indian',
'phoneNumber':'408-1234567',
'emailAddress''+':'[email protected]'
},
{
'stdId':'002',
'course':'BCA','+'
'firstName':'Sharon',
'lastName':'Lorenz',
'preferredFullName':'Sharon Lorenz','+'
'enrol':'S011',
'region':'indian',
'phoneNumber':'408-1111111',
'emailAddress''+':'[email protected]'
},
{
'stdId':'003',
'course':'Btech','+'
'firstName':'Brittany',
'lastName':'Hart',
'preferredFullName':'Brittany Hart',
''+'enrol':'S012',
'region':'indian',
'phoneNumber':'408-2222222',
'emailAddress':'[email protected]'
}
]
}'; try{ // use ObjectMapper for mapping JSON to Student Students students = mapper.readValue(stdString, Students.class); // print students System.out.println(students); // serialize students into json string stdString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(students); System.out.println(stdString); }catch (JsonParseException e) { e.printStackTrace(); }catch (JsonMappingException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } } //create Students class class Students { public List students; // getter and setter public List getStudent() { return students; } public void setStudent(List students) { this.students = students; } } class Student { // declare variables private String stdId; private String course; private String firstName; private String lastName; private String preferredFullName; private String enrol; private String region; private String phoneNumber; private String emailAddress; public Student(){ } // getter/setters for all variables public String getStdId() { return stdId; } public void setStdId(String stdId) { this.stdId = stdId; } public String getCourse() { return course; } public void getCourse(String course) { this.course = course; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPreferredFullName() { return preferredFullName; } public void setPreferredFullName(String preferredFullName) { this.preferredFullName = preferredFullName; } public String getEnrol() { return enrol; } public void setEnrol(String enrol) { this.enrol = enrol; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getEmailAddress() { return emailAddress; } public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; } public String toString(){ return 'Employee [ Student Id: '+stdId+', Course: '+course+ '' + ', First Name: '+firstName+ ', Last Name: '+lastName+ '' + ', Name: '+preferredFullName+ ', Enrol No: '+enrol+ '' + ', Region: '+region+ ', Phone Number: '+phoneNumber+ '' + ', Email Address: '+emailAddress+ ' ]'; } } Izhod: