ObjectMapper klasa u Jacksonu
ObjectMapper jedna je od najvažnijih dostupnih klasa Jackson knjižnica. Koristi se za čitanje i pisanje JSON podataka. Odgovoran je za čitanje podataka iz ili u POJO datoteku te za i iz JSON modela stabla.
Postoje sljedeće karakteristike klase ObjectMapper:
- Podržava napredne koncepte kao što su Polimorfizam i Prepoznavanje predmeta.
- Vrlo je prilagodljiv za rad s različitim stilovima JSON sadržaja.
- Radi kao tvornica za unaprijed ObjectReader i ObjectWriter klase.
Klasa ObjectMapper deklarirana je na sljedeći način:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Ugniježđene klase
Sljedeća tablica definira klase koje proširuju klasu ObjectMapper ili, možemo reći, ugniježđene klase klase ObjectMapper.
| Klasa | Opis |
|---|---|
| DefaultTypeResolverBuilder | To je prilagođeno TypeResolverBuilder klasa koja se koristi za dobivanje graditelja razrješitelja tipa, s kojima možemo koristiti 'zadano tipkanje'. |
| Zadano tipkanje | Kako bi se odredila vrsta tipova, koriste se enumeracije s metodom enableDefaultTyping(). |
Razmotrimo sada polja, konstruktore i metode klase ObjectMapper:
Polja klase ObjectMapper
protected DefaultDeserializationContext _deserializationContext
To je objekt konteksta nacrta koji je pohranjen za dopuštanje prilagođenih pod-klasa.
protected DeserializationConfig _deserializationConfig
To je konfiguracijski objekt koji se koristi za definiranje osnovnih globalnih postavki za proces deserializacije.
zaštićen JsonFactory jsonFactory
Kako bi se stvorila instanca JsonParsera i JsonGeneratora, koristi se JsonFactory.
zaštićene InjectableValues _injectableValues
To je pružatelj koji se koristi za ubacivanje vrijednosti u deserializirane POJO-e.
zaštićeno ConfigOverrides _propertyOverrides
Koristi se za pristup trenutno aktivnim nadjačavanjima konfiguracije po vrsti.
zaštićeni SimpleMixInResolver _mixIns
To je mapiranje koje se koristi za definiranje načina primjene bilješki miješanja. Mapiranje se vrši na sljedeći način:
Ključ: Upišite za primanje dodatnih bilješki.
Vrijednost: Tip koji ima bilješke za 'umiješati'
zaštićeno Postavite _registeredModuleTypes
To je skup koji definira skup tipova modula koji su registrirani.
zaštićen SerializationConfig _serializationConfig
To je također konfiguracijski objekt koji se koristi za definiranje osnovnih globalnih postavki za proces serijalizacije.
zaštićeni ConcurrentHashMap
To je mapa koja se koristi za praćenje de-serializatora na korijenskoj razini. To je karta glavne razine.
zaštićeno SerializerFactory _serializerFactory
To je tvornica koja se koristi za izradu serijalizatora.
zaštićen SubtypeResolver _subtypeResolver
Koristi se za registraciju podtipova i njihovo rješavanje za super/podtipove prema potrebi.
zaštićeno TypeFactory _typeFactory
To je tvornica koja se koristi za stvaranje JavaType instanci. Oni su potrebni kako bi se modulima omogućilo dodavanje više prilagođenog rukovanja tipovima.
protected DefaultSerializerProvider _serializerProvider
To je objekt koji je odgovoran za upravljanje pristupom serijalizatorima koji se koriste za serijalizaciju.
zaštićene statičke BaseSettings DEFAULT_BASE
Osnovne postavke uključuju zadane koje se koriste za sve instance ObjectMappera.
Konstruktori klase ObjectMapper
Postoje sljedeći konstruktori klase ObjectMapper:
| Konstruktor | Opis |
|---|---|
| ObjectMapper() | To je zadani konstruktor koji se koristi za konstruiranje instance koja koristi default JsonFactory, SerializerProvider, i BeanSerializerFactory. |
| ObjectMapper (tvornica JsonFactory) | Koristi se za konstrukciju instance koja koristi danu JsonFactory. Dana JsonFactory koristi se za konstrukciju JsonParsers i/ili JsonGenerators. |
| ObjectMapper (tvornica JsonFactory, SerializerProvider provider1, DeserializerProvider provider2) | Koristi se za konstrukciju instance koja koristi dano JsonFactory, SerializerProvider, i DeserializerProvider. Dana JsonFactory koristi se za konstrukciju JsonParsers i/ili JsonGenerators. |
| zaštićeni ObjectMapper(ObjectMapper maper) | To je konstruktor kopiranja za podršku copy(). |
Metode klase ObjectMapper
Klasa ObjectMapper definira sljedeće metode:
| metoda | Vrsta povrata | Opis |
|---|---|---|
| _checkInvalidCopy(Class exp) | poništiti | Koristi se za provjeru nevažeće kopije. |
| _configAndWriteValue(JsonGenerator g, vrijednost objekta) | poništiti | Koristi se za konfiguriranje generatora kada je potrebno i zatim za izvođenje funkcije pisanja. |
| _convert(Object fromValue, JavaType toValueType) | Objekt | Koristi se za dobivanje stvarne implementacije konverzije. Ovdje se metode čitanja i pisanja ne koriste za kod. |
| _initForReading(JsonParser p) | JsonToken | Koristi se za provjeru je li dani parser spreman za čitanje sadržaja za povezivanje podataka ili ne. |
| _findRootDeserializer(DeserializationContext ctxt, JavaType valueType) | JsonDeserializator | Za proslijeđenu vrijednost korijenske razine, ako želimo locirati de-serializator, koristimo ovu metodu. |
| _newReader(konfiguracija DeserializationConfig) Slična metoda:
| ObjectReader | To je tvornička metoda, tj. koristi se za dobivanje instanci ObjectReader odgovarajućeg podtipa. Kako bi se koristila ova metoda, potrebno je da pod-klase moraju nadjačati. |
| _newWriter(SerializationConfig konfiguracija) Slične metode:
| ObjectWriter | To je tvornička metoda, tj. koristi se za dobivanje instanci ObjectWriter odgovarajućeg podtipa. Kako bi se koristila ova metoda, potrebno je da pod-klase moraju nadjačati. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) | Objekt | Koristi se za dobivanje objekta koji definira operaciju čitanja vrijednosti i vezivanja. |
| _serializerProvider(SerializationConfig konfiguracija) | DefaultSerializerProvider | To je pomoćna metoda koja se može nadjačati i koja se koristi za konstrukciju SerializerProvider. |
| acceptJsonFormatVisitor(tip klase, JsonFormatVisitorWrapper posjetitelj) Slična metoda:
| poništiti poništiti | Ako želimo posjetiti hijerarhiju tipova određenog tipa s navedenim posjetiteljem, koristimo ovu metodu. |
| addHandler(DeserializationProblemHandler h) | ObjectMapper | Kako bismo riješili navedene probleme tijekom deserijalizacije, koristimo navedeni DeserializationProblemHandler, a za dodavanje rukovatelja koristimo ovu metodu. |
| addMixIn(cilj klase, mixinizvor klase) | ObjectMapper | Kako bismo koristili umiješanu napomenu za navedenu klasu proširenja ili sučelje, koristimo ovu metodu za njeno dodavanje. |
| canDeserialize(JavaType tip) | Booleov | Koristi se za provjeru može li maper deserializirati objekt određenog tipa ili ne. |
| canDeserialize(JavaType vrsta, AtomicReference uzrok) | Booleov | Slično je prethodnoj metodi. Jedina razlika je u tome što može vratiti bacanje koje je izbačeno u vrijeme konstruiranja serijalizatora. Bacanje se može koristiti za otkrivanje stvarnog problema. |
| canSerialize(tip klase) | Booleov | Koristi se za provjeru može li maper serijalizirati objekt određenog tipa ili ne. |
| canSerialize(vrsta klase, AtomicReference uzrok) | Booleov | Slično je prethodnoj metodi. Jedina razlika je u tome što može vratiti bacanje koje je izbačeno u vrijeme konstruiranja serijalizatora. Bacanje se može koristiti za otkrivanje stvarnog problema. |
| clearProblemHandlers() | ObjectMapper | To je jedna od metoda koja se koristi za uklanjanje svih DeserializationProblemHandler instanci iz mapera koji su registrirani. |
| configure(DeserializationFeature f, boolean stanje) slične metode:
| ObjectMapper | Koristi se za promjenu stanja uključene/isključene značajke deserijalizacije, Json Generator, JsonParser, Mapper ili Serialization za maper objekta, instance generatora, instance parsera, instancu mappera ili mapper objekta. |
| constructType(Tip t) | JavaType | Ako želimo konstruirati JavaType iz danog tipa bez eksplicitnog konteksta, koristimo ovu metodu. |
| convertValue(Object fromValue, Class toValueType) Slične metode:
| T | Ako želimo izvršiti konverziju dane vrijednosti u dva koraka u instancu danog tipa vrijednosti, koristimo metodu converValue(). |
| createArrayNode() | Čvor niza | Koristi se za stvaranje ArrayNode. |
| defaultClassIntrospector() | ClassIntrospector | Ako želimo koristiti zadani ClassIntrospector, koristimo ovu pomoćnu metodu Overridable za njegovu konstrukciju. |
| onemogući (značajka DeserializationFeature) Slične metode:
| ObjectMapper | Koristi se za onemogućavanje zadane DeserializationConfig, JsonGenerator.Features za instance parsera, JsonParser.Features za instance parsera mapera objekata. |
| disableDefaultTyping() | ObjectMapper | Mnogo puta trebamo onemogućiti automatsko uključivanje informacija o vrsti, au tu svrhu koristimo ovu metodu. |
omogućiti (značajka DeserializationFeature)
| ObjectMapper | Koristi se za omogućavanje zadane DeserializationConfig, JsonGenerator.Features za instance parsera, JsonParser.Features za instance parsera mapera objekata. |
| enableDefaultTyping() Slične metode:
| ObjectMapper | Kako bismo koristili automatsko uključivanje informacija o tipu za deserijalizaciju polimorfnih tipova., koristimo ovu metodu da to omogućimo. |
| pronađiiregistrirajmodule() | ObjectMapper | Slična je metodi mapper.registerModules(mapper.findModules()). |
| pronađiModule() Slične metode:
| Popis | Koristi se za lociranje dostupnih metoda. Metoda koristi mogućnost JDK ServiceLoader sa SPI-jem koji pruža modul. |
| getDateFormat() | Oblik datuma | Koristi se za dobivanje formata datuma. |
| getDeserializationConfig() | DeserializationConfig | Koristi se za dobivanje zajedničkog zadanog DeserializationConfig objekta. Vraćeni objekt definira konfiguracijske postavke za deserijalizaciju. |
| getDeserializationContext() | Kontekst deserijalizacije | Koristi se za dobivanje trenutnog konteksta deserijalizacije. |
| getFactory() | JsonFactory | Ako maper treba konstruirati Json parser i generatore, treba mu json tvornica, a da bismo to dobili, koristimo metodu getFactory(). |
| getInjectableValues() | InjectableValues | Koristi se za dobivanje injektibilnih vrijednosti. |
| getJsonFactory() | JsonFactory | To je zastarjela metoda za dobivanje Json tvornice. |
| getNodeFactory() | JsonNodeFactory | Koristi se za dobivanje JsonNodeFactory koju koristi maper u vrijeme izravne konstrukcije korijenskih instanci JsonNode za stabla. |
| getPropertyNamingStrategy() | PropertyNamingStrategy | Kao što naziv implicira, koristi se za strategiju imenovanja nekretnine. |
| getSerializationConfig() | SerializationConfig | Koristi se za dobivanje zajedničkog zadanog objekta SerializationConfig. Vraćeni objekt definira konfiguracijske postavke za serijalizaciju. |
| getSerializerFactory() | SerializatorFactory | Koristi se za dobivanje trenutne SerializerFactory. |
| getSerializerProvider() | SerializerProvider | To je pristupnik za tvornicu, koji se koristi za stvaranje instanci pozivanjem DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory). |
| getSerializerProviderInstance() | SerializerProvider | To je pristupnik koji se koristi za konstrukciju i vraćanje instance SerializerProvidera, koju možemo koristiti za pristup serijalizatorima. |
| getSubtypeResolver() | SubtypeResolver | Koristi se za pristup rezolveru podtipa koji se koristi. |
| getTypeFactory() | TypeFactory | To je pristupnik koji se koristi za dobivanje instance trenutno konfiguriranog TypeFactoryja. |
| getVisibilityChecker() | VisibilityChecker | Koristi se za pristup trenutno konfiguriranoj provjeri vidljivosti. |
| isEnabled(DeserializationFeature f) Slične metode:
| Booleov | Metoda isEnable() i njezine varijacije koriste se za provjeru je li dana značajka specifična za deserijalizaciju, JsonFactory, JsonGenerator, JsonParser, Mapper ili Serialization omogućena ili ne. |
| mixInCount() | int | Koristi se za dobivanje broja mixIn. |
| čitač() Slične metode:
| ObjectReader | Metoda reader() i njezine varijacije tvorničke su metode koje se koriste za konstrukciju instance ObjectReader-a. Na temelju zahtjeva, možemo proslijediti varijantu kodiranja Base64 za binarne podatke kodirane Base64, zadane atribute, omogućene značajke, vrijednosti koje se mogu ubaciti, JsonNodeFactory za izradu JSON stabala. |
| readerFor(tip klase) | ObjectReader | To je tvornička metoda koja se koristi za konstrukciju ObjectReadera, dopuštajući operacije čitanja ili ažuriranja za instance navedenog tipa. |
| readerFor(JavaType vrsta) | ObjectReader | To je tvornička metoda koja se koristi za konstrukciju ObjectReadera, dopuštajući operacije čitanja ili ažuriranja za instance specificiranog JavaType. |
| readerFor(TypeReference tip) | ObjectReader | To je tvornička metoda koja se koristi za konstrukciju ObjectReadera, dopuštajući operacije čitanja ili ažuriranja za instance zadane TypeReference. |
| readerForUpdating(Object valueToUpdate) | ObjectReader | To je tvornička metoda koja se koristi za konstrukciju ObjectReadera koja dopušta operacije ažuriranja za dati objekt. |
| readerWithView(prikaz klase) | ObjectReader | To je tvornička metoda koja se koristi za konstrukciju ObjectReadera, dopuštajući deserijalizacija objekata s danim JSON prikazom. |
readTree(bajt[] sadržaj)
| JsonNode ILI T | ReadTree() i njegove varijacije koriste se za deserializaciju JSON sadržaja kao stabla izraženog pomoću skupa instanci JsonNode. |
| readValue(byte[] src, Class valueType) Slične metode
| T ILI MappingIterator | ReadValue() i njegove varijacije koriste se za deserijalizaciju JSON sadržaja
|
| readValues(JsonParser p, Class valueType) Slične metode:
| MappingIterator | ReadValues() i njegove varijacije koriste se za čitanje niza objekata iz toka parsera. |
| registerModule(modul modula) Slične metode:
| ObjectMapper | RegisterModule() i njegove varijacije koriste se za registraciju modula koji ima sposobnost proširivanja funkcionalnosti koju pruža maper. |
| registerSubtypes(NamedType... tipovi) | poništiti | Koristi se za registraciju date klase kao podtipa. Čineći to, rezolucija temeljena na nazivu tipa može povezati nadtipove s podtipovima. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | ObjectMapper | Koristi se za postavljanje AnnotationIntrospector, koji instanca preslikača koristi i za serijalizaciju i za deserijalizaciju. |
| setAnnotationIntrospectors(AnnotationIntrospector serijalizerAI, AnnotationIntrospector deserializerAI) | ObjectMapper | Koristi se za promjenu instance AnnotationIntrospector-a koju koristi trenutna instanca preslikača za serijalizaciju i deserijalizaciju. |
| setBase64Variant(Base64Variant v) | ObjectMapper | Koristi se za konfiguriranje zadane Base64Variant koju će koristiti byte[] serijalizatori i deserializatori. |
| setConfig(DeserializationConfig config) | ObjectMapper | Kako bismo izvršili nadjačavanje temeljnog DeserializationConfig Object, koristimo ovu metodu. |
| setConfig(SerializationConfig config) | ObjectMapper | Kako bismo izvršili nadjačavanje temeljnog objekta SerializationConfig koji ima konfiguracijske postavke specifične za serijalizaciju, koristimo ovu metodu. |
| setDateFormat(DateFormat dateFormat) | ObjectMapper | Koristi se za konfiguriranje zadanog DateFormata za njegovu upotrebu u vrijeme serijalizacije vremenskih vrijednosti kao nizova ili deserijalizacije iz JSON nizova. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | ObjectMapper | Koristi se za određivanje PrettyPrintera za njegovu upotrebu kada je omogućeno 'zadano lijepo ispisivanje'. |
| setDefaultTyping(tipkač TypeResolverBuilder) | ObjectMapper | Koristi se za omogućavanje automatskog uključivanja informacija o vrsti. |
| setHandlerInstantiator(HandlerInstantiator bok) | Objekt | Koristi se za konfiguriranje HandlerInstantiatora za korištenje za stvaranje instanci rukovatelja. |
| setFilterProvider(FilterProvider filterProvider) | ObjectMapper | Koristi se za konfiguriranje trenutnog mapera da koristi navedeni FilterProvider za mapiranje ID-ova filtera na stvarne instance filtera. |
| setInjectableValues(InjectableValues injectableValues) | ObjectMapper | Koristi se za konfiguriranje InjectableValues koji se koristi za pronalaženje vrijednosti za ubacivanje. |
| setLocale(Local l) | ObjectMapper | Koristi se za nadjačavanje zadane lokalne postavke koja se koristi za oblikovanje. |
| setMixInResolver(ClassIntrospector.MixInResolver razriješi) | ObjectMapper | Ovu metodu koristimo za specificiranje danog razrješivača za lociranje miješanih klasa za korištenje, nadjačavajući izravno dodana mapiranja. |
| setMixInAnnotations(Mapa | poništiti | To je amortizirana metoda za definiranje bilješki miješanja. |
| setNodeFactory(JsonNodeFactory f) | ObjectMapper | Koristi se za određivanje JsonNodeFactory za korištenje za konstruiranje čvorova stabla korijenske razine. |
| setMixIns(Mapa | ObjectMapper | Koristi se za definiranje primjedbi koje se koriste za povećanje primjedbi koje imaju obradive klase. |
| setPropertyInclusion(JsonInclude.Value incl) | ObjectMapper | Koristi se za postavljanje zadane strategije uključivanja svojstava POJO za serijalizaciju. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | ObjectMapper | Koristi se za postavljanje prilagođene strategije imenovanja svojstava za korištenje. |
| setSerializerFactory(SerializerFactory f) | ObjectMapper | Koristi se za postavljanje specifične SerializerFactory za korištenje za konstruiranje (bean) serijalizatora. |
| setSerializerProvider(DefaultSerializerProvider p) | ObjectMapper | Koristi se za postavljanje 'nacrta' instance SerializerProvider za korištenje kao baze stvarnih instanci pružatelja usluga za rukovanje predmemoriranjem instanci JsonSerializera. |
| setSubtypeResolver(SubtypeResolver str) | ObjectMapper | Koristi se za postavljanje prilagođenog razlučivača podtipa. |
| setTimeZone(TimeZone tz) | ObjectMapper | Koristi se za nadjačavanje zadane vremenske zone koja se koristi za oblikovanje. |
| setTypeFactory(TypeFactory f) | ObjectMapper | Koristi se za nadjačavanje instance TypeFactory, koju koristi trenutni maper. |
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility vidljivost)
| ObjectMapper | SetVisibility() i njegova varijacija koriste se za postavljanje trenutno konfiguriranog VisibilityCheckera. Vraćena instanca ObjectMapper koristi se za provjeru može li se dati element svojstva automatski detektirati ili ne. |
| treeAsTokens(TreeNode n) | JsonParser | Koristi se za konstruiranje JsonParser-a iz reprezentacije JSON stabla. |
| treeToValue(TreeNode n, Class valueType) | T | Koristi se za vezanje podataka koje JSON stablo sadrži u određenu vrstu vrijednosti. |
| verzija() | Verzija | Koristi se za dobivanje informacija o verziji pohranjenih i čitanje iz posude koja sadrži ovu klasu. |
pisac()
| ObjectWriter | Write() i njegove varijacije koriste se za konstruiranje ObjectWriter-a sa zadanim postavkama, s obzirom na varijantu kodiranja Base64 za binarne podatke kodirane Base64, pojedinosti o izbjegavanju znakova za izlaz, zadane atribute, DateFormat, pružatelja filtara, objekt sheme u JsonGenerator koji se koristi za pisanje sadržaja, lijep pisač za uvlačenje ili omogućena značajka. |
| writerFor(Korijenski tip klase) - | ObjectWriter | Koristi se za konstruiranje ObjectWriter-a za serijalizaciju objekata korištenjem navedenog korijenskog tipa umjesto stvarnog tipa vrijednosti vremena izvođenja. |
| writerFor(JavaType rootType) | ObjectWriter | Koristi se za konstruiranje ObjectWriter-a za serijalizaciju objekata korištenjem navedenog korijenskog tipa umjesto stvarnog tipa vrijednosti vremena izvođenja. |
| writerFor(TypeReference rootType) | ObjectWriter | Koristi se za konstruiranje ObjectWriter-a za serijalizaciju objekata korištenjem navedenog korijenskog tipa umjesto stvarnog tipa vrijednosti vremena izvođenja. |
| writerWithDefaultPrettyPrinter() | ObjectWriter | To je tvornička metoda koja se koristi za konstruiranje ObjectWritera za serijalizaciju objekata korištenjem prilično zadanog pisača za uvlačenje. |
writerWithType(Korijenski tip klase)
| ObjectWriter | Ove metode su amortizirane, a umjesto njih koristimo metodu writerFor(TypeReference). |
| writerWithView(Class serializationView) | ObjectWriter | To je tvornička metoda koja se koristi za konstruiranje ObjectWriter-a za serijalizaciju objekata pomoću navedenog JSON prikaza. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | poništiti | Koristi se za serijalizaciju dostavljenog JSON stabla pomoću danog JsonGeneratora. |
| writeValue(File resultFile, Object value) | poništiti | Koristi se za serijalizaciju Java vrijednosti kao JSON izlaz i zapisivanje u zadano datoteka. |
| writeValue(JsonGenerator g, Vrijednost objekta). | poništiti | Koristi se za serijalizaciju Java vrijednosti kao JSON izlaz koristeći zadano JsonGenerator. |
| writeValue(OutputStream out, Object value) | poništiti | Koristi se za serijalizaciju Java vrijednosti kao JSON izlaza pomoću danog OutputStream. |
| writeValue(Writer w, Object value) | poništiti | Koristi se za serijalizaciju Java vrijednosti kao JSON izlaz koristeći zadano Pisac. |
| writeValueAsBytes(vrijednost objekta) | bajt[] | Koristi se za serijalizaciju Java vrijednosti kao niz bajtova. |
| writeValueAsString(vrijednost objekta) | Niz | Koristi se za serijalizaciju Java vrijednosti kao niza. |
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+ ' ]'; } } Izlaz: