ObjectMapper osztály Jacksonban
ObjectMapper az egyik legfontosabb elérhető osztály a Jackson könyvtár. JSON-adatok olvasására és írására szolgál. Felelős a POJO-fájlból vagy a POJO-fájlba, valamint a JSON-famodellből érkező adatok beolvasásáért.
Az ObjectMapper osztálynak a következő jellemzői vannak:
- Támogatja a fejlett fogalmakat, mint pl Polimorfizmus és Tárgyfelismerés.
- Nagyon testreszabható, hogy különböző stílusú JSON-tartalommal dolgozzon.
- Az előleg gyáraként működik ObjectReader és ObjectWriter osztályok.
Az ObjectMapper osztály deklarálása a következő módon történik:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Beágyazott osztályok
A következő táblázat azokat az osztályokat határozza meg, amelyek kiterjesztik az ObjectMapper osztályt, vagy mondjuk az ObjectMapper osztály beágyazott osztályait.
| Osztály | Leírás |
|---|---|
| DefaultTypeResolverBuilder | Ez egy testreszabott TypeResolverBuilder osztályt, amelyet a típusfeloldó-építők beszerzésére használunk, amelyekkel együtt tudunk használni 'alapértelmezett gépelés'. |
| Alapértelmezett gépelés | A típusok típusának meghatározásához a felsorolásokat az enableDefaultTyping() metódussal használjuk. |
Most pedig ismerjük meg az ObjectMapper osztály mezőit, konstruktorait és metódusait:
Az ObjectMapper osztály mezői
protected DefaultDeserializationContext _deserializationContext
Ez egy tervkontextus objektum, amely az egyéni alosztályok engedélyezéséhez van tárolva.
protected DeserializationConfig _deserializationConfig
Ez egy konfigurációs objektum, amely a deszerializálási folyamat alapvető globális beállításainak meghatározására szolgál.
védett JsonFactory jsonFactory
A JsonParser és a JsonGenerator példányának létrehozásához a JsonFactory alkalmazást használják.
védett InjectableValues _injectableValues
Ez egy szolgáltató, amelyet az értékek beszúrására használnak a deszerializált POJO-kba.
védett ConfigOverrides _propertyOverrides
Az aktuálisan aktív típusonkénti konfigurációs felülírások eléréséhez használható.
védett SimpleMixInResolver _mixIns
Ez egy leképezés, amelyet a kevert annotációk alkalmazási módjának meghatározására használnak. A térképezés a következő módon történik:
Kulcs: Írjon be, ha további megjegyzéseket szeretne kapni.
Érték: Típus, amelyhez megjegyzések tartoznak a „keveréshez”
védett _registeredModuleTypes beállítása
Ez egy készlet, amely meghatározza a regisztrált modultípusok készletét.
védett SerializationConfig _serializationConfig
Ez egy konfigurációs objektum is, amely a szerializálási folyamat alapvető globális beállításainak meghatározására szolgál.
védett ConcurrentHashMap
Ez egy térkép, amely a gyökérszintű de-szerializálók nyomon követésére szolgál. Ez egy fő szintű térkép.
védett SerializerFactory _serializerFactory
Ez egy gyár, amelyet a szerializátorok készítésére használnak.
védett SubtypeResolver _subtypeResolver
Altípusok regisztrálására és szükség szerint szuper/altípusokra való megoldására szolgál.
védett TypeFactory _typeFactory
Ez egy gyár, amelyet JavaType példányok létrehozására használnak. Szükségesek ahhoz, hogy a modulok több egyedi típusú kezelést adhassanak hozzá.
protected DefaultSerializerProvider _serializerProvider
Ez egy olyan objektum, amely a szerializáláshoz használt szerializálókhoz való hozzáférés kezeléséért felelős.
védett statikus BaseSettings DEFAULT_BASE
Az alapbeállítások tartalmazzák az összes ObjectMapper-példányhoz használt alapértelmezett értékeket.
Az ObjectMapper osztály konstruktőrei
Az ObjectMapper osztály következő konstruktorai vannak:
| Konstruktőr | Leírás |
|---|---|
| ObjectMapper() | Ez egy alapértelmezett konstruktor, amely egy alapértelmezettet használó példány létrehozására szolgál JsonFactory, SerializerProvider, és BeanSerializerFactory. |
| ObjectMapper (JsonFactory gyár) | Egy olyan példány létrehozására szolgál, amely az adott JsonFactory-t használja. Az adott JsonFactory-t használjuk a felépítéshez JsonParsers és/vagy JsonGenerators. |
| ObjectMapper (JsonFactory gyár, SerializerProvider szolgáltató1, DeserializerProvider szolgáltató2) | Egy olyan példány létrehozására szolgál, amely az adott értéket használja JsonFactory, SerializerProvider, és DeserializerProvider. Az adott JsonFactory-t használjuk a felépítéshez JsonParsers és/vagy JsonGenerators. |
| védett ObjectMapper (ObjectMapper leképező) | Ez egy copy-konstruktor a copy() támogatására. |
ObjectMapper osztálymódszerek
Az ObjectMapper osztály a következő metódusokat határozza meg:
| Módszer | Visszatérés típusa | Leírás |
|---|---|---|
| _checkInvalidCopy(Osztály exp) | üres | Az érvénytelen másolat ellenőrzésére szolgál. |
| _configAndWriteValue(JsonGenerator g, objektumérték) | üres | Szükség esetén a generátor konfigurálására, majd az írási funkciók végrehajtására szolgál. |
| _convert(Object from Value, JavaType to ValueType) | Tárgy | A tényleges konverziós megvalósítás lekérésére szolgál. Itt az olvasási és írási módszerek nem használatosak a kódhoz. |
| _initForReading(JsonParser p) | JsonToken | Arra szolgál, hogy megbizonyosodjon arról, hogy az adott elemző készen áll-e a tartalom olvasására adatkötéshez vagy sem. |
| _findRootDeserializer(DeserializationContext ctxt, JavaType valueType) | JsonDeserializer | Az átadott gyökérszintű értékhez ezt a módszert használjuk, ha meg akarjuk találni a de-serializert. |
| _newReader(DeserializationConfig config) Hasonló módszer:
| ObjectReader | Ez egy gyári módszer, azaz az ObjectReader-példányok megfelelő altípusának beszerzésére szolgál. A módszer használatához szükséges, hogy az alosztályoknak felül kell írniuk. |
| _newWriter(SerializationConfig config) Hasonló módszerek:
| ObjectWriter | Ez egy gyári módszer, azaz arra használják, hogy az ObjectWriter példányokat megfelelő altípushoz kapják. A módszer használatához szükséges, hogy az alosztályoknak felül kell írniuk. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) | Tárgy | Egy objektum beszerzésére szolgál, amely meghatározza az értékolvasást és a kötési műveletet. |
| _serializerProvider(SerializationConfig config) | DefaultSerializerProvider | Ez egy felülírható segédmódszer, amelyet a SerializerProvider létrehozásához használnak. |
| acceptJsonFormatVisitor(Osztálytípus, JsonFormatVisitorWrapper látogató) Hasonló módszer:
| üres üres | Ha egy adott típus típushierarchiáját szeretnénk meglátogatni a megadott látogatóval, akkor ezt a módszert használjuk. |
| addHandler(DeserializationProblemHandler h) | ObjectMapper | A de-szerializálás során megadott problémák kezeléséhez egy megadott DeserializationProblemHandler-t használunk, a kezelő hozzáadásához pedig ezt a módszert. |
| addMixIn(Osztálycél, Osztály mixinForrás) | ObjectMapper | A mix-in annotáció használatához egy adott bővítő osztályhoz vagy interfészhez ezt a módszert használjuk a hozzáadáshoz. |
| canDeserialize (JavaType típus) | Boolean | Annak ellenőrzésére szolgál, hogy a leképező képes-e deszerializálni egy adott típusú objektumot vagy sem. |
| canDeserialize (JavaType típus, AtomicReference ok) | Boolean | Hasonló az előző módszerhez. Az egyetlen különbség az, hogy vissza tudja adni azt a dobhatót, amelyet a sorozatkészítő készítésekor dobtak. A dobható használható a tényleges probléma kiderítésére. |
| szerializálhat (Osztály típusa) | Boolean | Arra szolgál, hogy ellenőrizze, hogy a leképező képes-e szerializálni egy adott típusú objektumot vagy sem. |
| canSerialize (Osztály típusa, AtomicReference oka) | Boolean | Hasonló az előző módszerhez. Az egyetlen különbség az, hogy vissza tudja adni azt a dobhatót, amelyet a sorozatkészítő készítésekor dobtak. A dobható használható a tényleges probléma kiderítésére. |
| clearProblemHandlers() | ObjectMapper | Ez az egyik olyan módszer, amely az összes regisztrált DeserializationProblemHandlers példány eltávolítására szolgál a leképezőből. |
| konfigurálás (f deserializációs funkció, logikai állapot) hasonló módszerek:
| ObjectMapper | Az objektumleképező, generátorpéldányok, elemzőpéldányok, leképezőpéldányok vagy objektumleképezők be-/kikapcsolásának de-szerializálásának, Json-generátornak, JsonParser-nek, Leképezőnek vagy Sorozatosítási szolgáltatásnak az állapotának módosítására szolgál. |
| constructType(t típus) | JavaType | Ha egy adott típusból szeretnénk JavaType-ot létrehozni explicit kontextus nélkül, akkor ezt a módszert használjuk. |
| convertValue (objektum értékből, osztály értéktípusba) Hasonló módszerek:
| T | Ha egy adott érték kétlépéses konvertálását szeretnénk végrehajtani egy adott értéktípus példányává, akkor a converValue() metódust használjuk. |
| CreateArrayNode() | ArrayNode | ArrayNode létrehozására szolgál. |
| defaultClassIntrospector() | ClassIntrospector | Ha az alapértelmezett ClassIntrospector-t szeretnénk használni, akkor ezt az Overridable helper metódust használjuk a létrehozásához. |
| letiltása (DeserializationFeature funkció) Hasonló módszerek:
| ObjectMapper | Az objektumleképező adott DeserializationConfig, JsonGenerator.Features elemzőpéldányok, JsonParser.Features elemzőpéldányok letiltására szolgál. |
| disableDefaultTyping() | ObjectMapper | Sokszor le kell tiltanunk a típusinformációk automatikus felvételét, erre a célra ezt a módszert használjuk. |
engedélyezése (DeserializationFeature funkció)
| ObjectMapper | Az adott DeserializationConfig engedélyezésére szolgál, a JsonGenerator.Features elemző példányokhoz, JsonParser.Features az objektumleképező elemző példányaihoz. |
| engedélyezéseDefaultTyping() Hasonló módszerek:
| ObjectMapper | Annak érdekében, hogy a típusinformáció automatikus felvételét használjuk a polimorf típusok deszerializálásához, ezt a módszert használjuk ennek engedélyezéséhez. |
| findAndRegisterModules() | ObjectMapper | Hasonló a mapper.registerModules(mapper.findModules()) metódushoz. |
| FindModules() Hasonló módszerek:
| Lista | Az elérhető módszerek megkeresésére szolgál. A módszer a JDK ServiceLoader szolgáltatást használja modul által biztosított SPI-vel. |
| getDateFormat() | Dátum formátum | A dátum formátumának lekérésére szolgál. |
| getDeserializationConfig() | DeserializationConfig | A megosztott alapértelmezett DeserializationConfig objektum lekérésére szolgál. A visszaadott objektum meghatározza a deszerializálás konfigurációs beállításait. |
| getDeserializationContext() | DeserializationContext | Az aktuális DeserializationContext lekérésére szolgál. |
| getFactory() | JsonFactory | Ha a leképezőnek Json elemzőt és generátorokat kell összeállítania, akkor json factory kell, és ennek eléréséhez a getFactory() metódust használjuk. |
| getInjectableValues() | Injectable Values | Az injekciós értékek megszerzésére szolgál. |
| getJsonFactory() | JsonFactory | Ez egy elavult módszer a Json-gyár beszerzésére. |
| getNodeFactory() | JsonNodeFactory | Ez a JsonNodeFactory lekérésére szolgál, amelyet a leképező a fák gyökér JsonNode példányainak közvetlenül létrehozásakor használ. |
| getPropertyNamingStrategy() | PropertyNamingStrategy | Ahogy a neve is sugallja, az ingatlan elnevezési stratégiájához szokott. |
| getSerializationConfig() | SerializationConfig | A megosztott alapértelmezett SerializationConfig objektum lekérésére szolgál. A visszaadott objektum meghatározza a szerializálás konfigurációs beállításait. |
| getSerializerFactory() | SerializerFactory | Az aktuális SerializerFactory letöltésére szolgál. |
| getSerializerProvider() | SerializerProvider | Ez egy gyári hozzáférő, amely példányok létrehozására szolgál a DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory) meghívásával. |
| getSerializerProviderInstance() | SerializerProvider | Ez egy hozzáférő, amelyet a SerializerProvider egy példányának létrehozására és visszaadására használnak, amelyet a szerializálók eléréséhez használhatunk. |
| getSubtypeResolver() | SubtypeResolver | A használatban lévő altípus-feloldó elérésére szolgál. |
| getTypeFactory() | TypeFactory | Ez egy hozzáférő, amely a jelenleg konfigurált TypeFactory példányának lekérésére szolgál. |
| getVisibilityChecker() | VisibilityChecker | Az aktuálisan konfigurált láthatóság-ellenőrző eléréséhez használható. |
| isEnabled (DeserializationFeature f) Hasonló módszerek:
| Boolean | Az isEnable() metódus és változatai annak ellenőrzésére szolgálnak, hogy az adott deszerializáció-specifikus, JsonFactory, JsonGenerator, JsonParser, Mapper vagy Serialization szolgáltatás engedélyezve van-e vagy sem. |
| mixInCount() | int | A mixIn számának megállapítására szolgál. |
| olvasó() Hasonló módszerek:
| ObjectReader | A Reader() metódus és változatai az ObjectReader egy példányának létrehozásához használt gyári módszerek. A követelmény alapján átadhatjuk a Base64 kódolási változatot Base64 kódolású bináris adatokhoz, alapértelmezett attribútumokhoz, funkciók engedélyezve, injektálható értékekhez, JSON-fák készítéséhez a JsonNodeFactory-t. |
| olvasóhoz (osztály típusa) | ObjectReader | Ez egy gyári metódus, amelyet az ObjectReader létrehozására használnak, lehetővé téve a megadott típusú példányok olvasási vagy frissítési műveleteit. |
| ReaderFor (JavaType típus) | ObjectReader | Ez egy gyári metódus, amelyet az ObjectReader létrehozására használnak, és lehetővé teszi a megadott JavaType példányok olvasási vagy frissítési műveleteit. |
| ReaderFor (TypeReference típus) | ObjectReader | Ez egy gyári metódus, amelyet az ObjectReader létrehozására használnak, és lehetővé teszi az olvasási vagy frissítési műveleteket az adott TypeReference példányaihoz. |
| readerForUpdating(Object valueToUpdate) | ObjectReader | Ez egy gyári metódus, amelyet az ObjectReader létrehozására használnak, amely lehetővé teszi az adott objektum frissítési műveleteit. |
| ReaderWithView (Osztály nézet) | ObjectReader | Ez egy gyári módszer, amelyet az ObjectReader létrehozásához használnak, lehetővé téve objektumok deszerializálása adott JSON-nézettel. |
readTree(byte[] tartalom)
| JsonNode VAGY T | A readTree() és változatai a JSON-tartalom deszerializálására szolgálnak, mint egy JsonNode-példánykészlettel kifejezett fa. |
| readValue(byte[] src, osztály értéktípus) Hasonló módszerek
| T VAGY MappingIterator | A readValue() és változatai a JSON-tartalom deszerializálására szolgálnak
|
| readValues (JsonParser p, Class valueType) Hasonló módszerek:
| MappingIterator | A readValues() és változatai az objektumok sorozatának kiolvasására szolgálnak az elemző folyamból. |
| registerModule (Modul modul) Hasonló módszerek:
| ObjectMapper | A registerModule() és változatai egy olyan modul regisztrálására szolgálnak, amely képes kiterjeszteni a leképező által biztosított funkciókat. |
| registerSubtypes (NamedType... típusok) | üres | Az adott osztály altípusként történő regisztrálására szolgál. Ezzel a típusnév-alapú felbontás szupertípusokat altípusokhoz tud kapcsolni. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | ObjectMapper | Az AnnotationIntrospector beállítására szolgál, amelyet a leképezőpéldány a szerializáláshoz és a szerializáláshoz egyaránt használ. |
| setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) | ObjectMapper | Az AnnotationIntrospector példányának módosítására szolgál, amelyet az aktuális leképezőpéldány a szerializáláshoz és a deszerializáláshoz használ. |
| setBase64Variant(Base64Variant v) | ObjectMapper | Ez az alapértelmezett Base64Variant beállítására szolgál, amelyet a byte[] szerializálók és deszerializálók használnak. |
| setConfig(DeserializationConfig config) | ObjectMapper | Az alapul szolgáló DeserializationConfig objektum felülbírálásához ezt a módszert használjuk. |
| setConfig(SerializationConfig config) | ObjectMapper | A szerializáció-specifikus konfigurációs beállításokkal rendelkező mögöttes SerializationConfig objektum felülbírálásához ezt a módszert használjuk. |
| setDateFormat(DateFormat dateFormat) | ObjectMapper | Ezzel konfigurálható az alapértelmezett DateFormat, hogy az az időértékek karakterláncként történő sorosításakor vagy a JSON-karakterláncokból történő deszerializáláskor használja. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | ObjectMapper | Ez a PrettyPrinter megadására szolgál, amikor az „alapértelmezett szép nyomtatás” engedélyezve van. |
| setDefaultTyping(TypeResolverBuilder typer) | ObjectMapper | A típusinformációk automatikus felvételének engedélyezésére szolgál. |
| setHandlerInstantiator(HandlerInstantiator szia) | Tárgy | A HandlerInstantiator konfigurálására szolgál a kezelők példányainak létrehozására. |
| setFilterProvider(FilterProvider filterProvider) | ObjectMapper | A jelenlegi leképező konfigurálására szolgál, hogy a megadott FilterProvider-t használja a szűrőazonosítók tényleges szűrőpéldányokhoz való leképezéséhez. |
| setInjectableValues(InjectableValues InjectableValues) | ObjectMapper | Az InjectableValues konfigurálására szolgál, amely a beillesztendő értékek keresésére szolgál. |
| setLocale(Helyi l) | ObjectMapper | A formázáshoz használt alapértelmezett területi beállítás felülbírálására szolgál. |
| setMixInResolver(ClassIntrospector.MixInResolver felbontás) | ObjectMapper | Ezzel a módszerrel határozzuk meg az adott feloldót, hogy megtaláljuk a használni kívánt keverési osztályokat, felülírva a közvetlenül hozzáadott leképezéseket. |
| setMixInAnnotations(Map | üres | Ez egy értékcsökkentett módszer a mix-in annotáció meghatározására. |
| setNodeFactory(JsonNodeFactory f) | ObjectMapper | Ez a JsonNodeFactory megadására szolgál a gyökérszintű facsomópontok létrehozásához. |
| setMixIns(Térkép | ObjectMapper | A feldolgozható osztályok annotációinak kiegészítésére használható keverési megjegyzések meghatározására szolgál. |
| setPropertyInclusion(JsonInclude.Value incl) | ObjectMapper | A szerializálás alapértelmezett POJO-tulajdonbafoglalási stratégiájának beállítására szolgál. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | ObjectMapper | Ez a használandó egyéni tulajdonság-elnevezési stratégia beállítására szolgál. |
| setSerializerFactory(SerializerFactory f) | ObjectMapper | Arra szolgál, hogy beállítsa az adott SerializerFactory-t a (bab) szerializálók készítéséhez. |
| setSerializerProvider(DefaultSerializerProvider p) | ObjectMapper | A „tervezett” SerializerProvider-példány beállítására szolgál, hogy a tényleges szolgáltatói példányok alapjaként használhassa a JsonSerializer-példányok gyorsítótárazásához. |
| setSubtypeResolver(SubtypeResolver str) | ObjectMapper | Ez az egyéni altípus-feloldó beállítására szolgál. |
| setTimeZone (TimeZone tz) | ObjectMapper | A formázáshoz használt alapértelmezett időzóna felülbírálására szolgál. |
| setTypeFactory(TypeFactory f) | ObjectMapper | Az aktuális leképező által használt TypeFactory példány felülbírálására szolgál. |
setVisibility (PropertyAccessor for Method, JsonAutoDetect.Visibility láthatóság)
| ObjectMapper | A setVisibility() és annak változata az aktuálisan konfigurált VisibilityChecker beállítására szolgál. A visszaadott ObjectMapper példány annak ellenőrzésére szolgál, hogy az adott tulajdonságelem automatikusan észlelhető-e vagy sem. |
| treeAsTokens (n. facsomópont) | JsonParser | A JSON-fa ábrázolásból JsonParser létrehozására szolgál. |
| treeToValue(n. facsomópont, osztályértéktípus) | T | Az adott JSON-fa által tartalmazott adatok meghatározott értéktípusba való kötésére szolgál. |
| változat() | Változat | Az ezt az osztályt tartalmazó jar-ban tárolt verzióinformációk lekérésére és kiolvasására szolgál. |
író()
| ObjectWriter | A write() és változatai az ObjectWriter alapbeállításokkal való létrehozására szolgálnak, adott Base64 kódolási változat a Base64 kódolású bináris adatokhoz, a kimeneti karakterek kihagyásának részletei, alapértelmezett attribútumok, DateFormat, szűrőszolgáltató, séma objektum a tartalom írásához használt JsonGeneratorhoz, szép nyomtató behúzáshoz, vagy funkció engedélyezve. |
| writerFor(Osztály gyökértípusa) - | ObjectWriter | Az ObjectWriter létrehozására szolgál az objektumok sorosításához egy megadott gyökértípus használatával a tényleges futásidejű értéktípus helyett. |
| writerFor(JavaType rootType) | ObjectWriter | Az ObjectWriter létrehozására szolgál az objektumok sorosításához egy megadott gyökértípus használatával a tényleges futásidejű értéktípus helyett. |
| writerFor(TypeReference rootType) | ObjectWriter | Az ObjectWriter létrehozására szolgál az objektumok sorosításához egy megadott gyökértípus használatával a tényleges futásidejű értéktípus helyett. |
| writerWithDefaultPrettyPrinter() | ObjectWriter | Ez egy gyári metódus, amelyet az ObjectWriter létrehozására használnak az objektumok sorosításához a szép alapértelmezett nyomtató használatával a behúzáshoz. |
writerWithType (osztály gyökértípusa)
| ObjectWriter | Ezeket a metódusokat amortizálják, és helyettük a writerFor(TypeReference) metódust használjuk. |
| writerWithView (Class serializationView) | ObjectWriter | Ez egy gyári metódus, amelyet az ObjectWriter létrehozására használnak az objektumok sorosításához a megadott JSON-nézet használatával. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | üres | A megadott JSON-fa sorozatosítására szolgál az adott JsonGenerator használatával. |
| writeValue(fájl eredményfájl, objektumérték) | üres | A Java-érték JSON-kimenetként történő szerializálására szolgál, és az adottba írható fájlt. |
| writeValue(JsonGenerator g, objektumérték). | üres | Java-értékek JSON-kimenetként való sorosítására szolgál a megadott használatával JsonGenerator. |
| writeValue (OutputStream out, Object value) | üres | A Java-érték JSON-kimenetként való sorosítására szolgál a megadott használatával OutputStream. |
| writeValue(w író, objektumérték) | üres | Java-értékek JSON-kimenetként való sorosítására szolgál a megadott használatával Író. |
| writeValueAsBytes(Objektumérték) | byte[] | Java értékek szerializálására szolgál bájttömbként. |
| writeValueAsString(Objektumérték) | Húr | Java-értékek karakterláncként történő sorosítására szolgál. |
JacksonPélda.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+ ' ]'; } } Kimenet: