Trieda ObjectMapper v Jacksone
ObjectMapper je jednou z najdôležitejších dostupných tried Jackson knižnica. Používa sa na čítanie a zápis údajov JSON. Je zodpovedný za čítanie údajov z alebo do súboru POJO a do az modelu stromu JSON.
Trieda ObjectMapper má nasledujúce vlastnosti:
- Podporuje pokročilé koncepty ako napr Polymorfizmus a Rozpoznávanie objektov.
- Je veľmi prispôsobiteľný na prácu s rôznymi štýlmi obsahu JSON.
- Funguje ako továreň na zálohu ObjectReader a ObjectWriter triedy.
Trieda ObjectMapper je deklarovaná nasledujúcim spôsobom:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Vnorené triedy
Nasledujúca tabuľka definuje triedy, ktoré rozširujú triedu ObjectMapper alebo, povedzme, vnorené triedy triedy ObjectMapper.
| Trieda | Popis |
|---|---|
| DefaultTypeResolverBuilder | Je to prispôsobené TypeResolverBuilder trieda, ktorá sa používa na získanie zostavovateľov prekladačov typov, s ktorými môžeme použiť „predvolené písanie“. |
| Predvolené zadávanie | Na určenie druhu typov sa používajú enumerácie s metódou enableDefaultTyping(). |
Teraz pochopme polia, konštruktory a metódy triedy ObjectMapper:
Polia triedy ObjectMapper
protected DefaultDeserializationContext _deserializationContext
Je to kontextový objekt plánu, ktorý je uložený na umožnenie vlastných podtried.
protected DeserializationConfig _deserializationConfig
Je to konfiguračný objekt, ktorý sa používa na definovanie základných globálnych nastavení procesu de-serializácie.
chránená JsonFactory jsonFactory
Na vytvorenie inštancie JsonParser a JsonGenerator sa používa JsonFactory.
protected InjectableValues _injectableValues
Ide o poskytovateľa, ktorý sa používa na vstrekovanie hodnôt do deserializovaných POJO.
chránený ConfigOverrides _propertyOverrides
Používa sa na prístup k aktuálne aktívnym prepísaniam konfigurácie podľa typu.
chránený SimpleMixInResolver _mixIns
Je to mapovanie, ktoré sa používa na definovanie spôsobu aplikácie zmiešaných anotácií. Mapovanie sa vykonáva nasledujúcim spôsobom:
kľúč: Ak chcete získať ďalšie anotácie, zadajte.
Hodnota: Typ, ktorý obsahuje anotácie na „zamiešanie“
protected Set _registeredModuleTypes
Je to množina, ktorá definuje množinu typov modulov, ktoré boli zaregistrované.
chránená SerializationConfig _serializationConfig
Je to tiež konfiguračný objekt, ktorý sa používa na definovanie základných globálnych nastavení procesu serializácie.
chránená ConcurrentHashMap
Je to mapa, ktorá sa používa na sledovanie koreňových de-serializátorov. Je to mapa hlavnej úrovne.
chránená SerializerFactory _serializerFactory
Je to továreň, ktorá sa používa na konštrukciu serializátorov.
chránený SubtypeResolver _subtypeResolver
Slúži na registráciu podtypov a ich riešenie pre nad/podtypy podľa potreby.
chránený TypeFactory _typeFactory
Je to továreň, ktorá sa používa na vytváranie inštancií JavaType. Sú potrebné na to, aby moduly mohli pridať viac prispôsobených typov spracovania.
protected DefaultSerializerProvider _serializerProvider
Je to objekt, ktorý je zodpovedný za riadenie prístupu k serializátorom používaným na serializáciu.
chránené statické BaseSettings DEFAULT_BASE
Ide o základné nastavenia, ktoré zahŕňajú predvolené hodnoty používané pre všetky inštancie ObjectMapper.
Konštruktory triedy ObjectMapper
Existujú nasledujúce konštruktory triedy ObjectMapper:
| Konštruktér | Popis |
|---|---|
| ObjectMapper() | Je to predvolený konštruktor používaný na zostavenie inštancie, ktorá používa predvolené nastavenie JsonFactory, SerializerProvider, a BeanSerializerFactory. |
| ObjectMapper (továreň JsonFactory) | Používa sa na zostavenie inštancie, ktorá používa danú JsonFactory. Na konštrukciu sa používa daná JsonFactory JsonParsers a/alebo JsonGenerators. |
| ObjectMapper (továreň JsonFactory, poskytovateľ SerializerProvider1, DeserializerProvider provider2) | Používa sa na zostavenie inštancie, ktorá používa dané JsonFactory, SerializerProvider, a DeserializerProvider. Na konštrukciu sa používa daná JsonFactory JsonParsers a/alebo JsonGenerators. |
| chránený objektový mapovač (mapovač objektov) | Je to kopírovací konštruktor na podporu copy(). |
Metódy triedy ObjectMapper
Trieda ObjectMapper definuje nasledujúce metódy:
| Metóda | Typ návratu | Popis |
|---|---|---|
| _checkInvalidCopy (exp. triedy) | neplatné | Používa sa na kontrolu neplatnej kópie. |
| _configAndWriteValue(JsonGenerator g, hodnota objektu) | neplatné | Používa sa na konfiguráciu generátora, ak je to potrebné, a na vykonanie funkcie zápisu. |
| _convert(Object fromValue, JavaType toValueType) | Objekt | Používa sa na získanie skutočnej implementácie konverzie. Tu sa pre kód nepoužívajú metódy čítania a zápisu. |
| _initForReading(JsonParser p) | JsonToken | Používa sa na overenie, či je daný syntaktický analyzátor pripravený na čítanie obsahu pre dátovú väzbu alebo nie. |
| _findRootDeserializer(Ctxt DeserializationContext, JavaType valueType) | JsonDeserializer | Pre odovzdanú hodnotu na koreňovej úrovni, ak chceme nájsť de-serializátor, použijeme túto metódu. |
| _newReader(konfigurácia DeserializationConfig) Podobná metóda:
| ObjectReader | Je to továrenská metóda, t.j. používaná na získanie inštancií ObjectReader správneho podtypu. Ak chcete použiť túto metódu, je potrebné, aby podtriedy boli prepísané. |
| _newWriter(konfigurácia SerializationConfig) Podobné metódy:
| ObjectWriter | Je to továrenská metóda, t.j. používaná na získanie inštancií ObjectWriter správneho podtypu. Ak chcete použiť túto metódu, je potrebné, aby podtriedy boli prepísané. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) | Objekt | Používa sa na získanie objektu, ktorý definuje čítanie hodnoty a operáciu viazania. |
| _serializerProvider(konfigurácia SerializationConfig) | DefaultSerializerProvider | Je to prepísateľná pomocná metóda, ktorá sa používa na zostavenie SerializerProvider. |
| acceptJsonFormatVisitor (typ triedy, návštevník JsonFormatVisitorWrapper) Podobná metóda:
| neplatné neplatné | Ak chceme so zadaným návštevníkom navštíviť typovú hierarchiu konkrétneho typu, použijeme túto metódu. |
| addHandler(DeserializationProblemHandler h) | ObjectMapper | Na zvládnutie špecifikovaných problémov počas de-serializácie používame špecifikovaný DeserializationProblemHandler a na pridanie handlera používame túto metódu. |
| addMixIn(cieľ triedy, zdroj mixu triedy) | ObjectMapper | Aby sme mohli použiť zmiešanú anotáciu pre špecifikovanú rozširujúcu triedu alebo rozhranie, používame túto metódu na jej pridanie. |
| canDeserialize (typ JavaType) | Boolean | Používa sa na kontrolu, či mapovač môže zrušiť serializáciu objektu určeného typu alebo nie. |
| canDeserialize (typ Java, príčina AtomicReference) | Boolean | Je to podobné ako v predchádzajúcej metóde. Jediný rozdiel je v tom, že dokáže vrátiť vrhací prvok, ktorý bol vyhodený v čase konštrukcie serializátora. Vrhač je možné použiť na zistenie skutočného problému. |
| canSerialize (typ triedy) | Boolean | Používa sa na kontrolu, či mapovač dokáže serializovať objekt určeného typu alebo nie. |
| canSerialize (typ triedy, príčina AtomicReference) | Boolean | Je to podobné ako v predchádzajúcej metóde. Jediný rozdiel je v tom, že dokáže vrátiť vrhací prvok, ktorý bol vyhodený v čase konštrukcie serializátora. Vrhač je možné použiť na zistenie skutočného problému. |
| clearProblemHandlers() | ObjectMapper | Je to jedna z metód, ktorá sa používa na odstránenie všetkých inštancií DeserializationProblemHandlers z mapovača, ktoré sú zaregistrované. |
| configure(Feature deserialization f, booleovský stav) podobné metódy:
| ObjectMapper | Používa sa na zmenu stavu zapnutej/vypnutej de-serializácie, generátora Json, JsonParser, mapovača alebo funkcie serializácie pre mapovač objektov, inštancie generátora, inštancie syntaktického analyzátora, inštanciu mapovača alebo mapovač objektov. |
| constructType (Typ t) | JavaType | Ak chceme vytvoriť JavaType z daného typu bez explicitného kontextu, použijeme túto metódu. |
| convertValue(Object fromValue, Class toValueType) Podobné metódy:
| T | Ak chceme vykonať dvojkrokový prevod danej hodnoty na inštanciu daného typu hodnoty, použijeme metódu converValue(). |
| createArrayNode() | ArrayNode | Používa sa na vytvorenie ArrayNode. |
| defaultClassIntrospector() | ClassIntrospector | Ak chceme použiť predvolený ClassIntrospector, použijeme na jeho konštrukciu pomocnú metódu Overridable. |
| zakázať (funkcia DeserializationFeature) Podobné metódy:
| ObjectMapper | Používa sa na deaktiváciu danej DeserializationConfig, JsonGenerator.Features pre inštancie syntaktického analyzátora, JsonParser.Features pre inštancie syntaktického analyzátora mapovača objektov. |
| disableDefaultTyping() | ObjectMapper | Mnohokrát musíme zakázať automatické zahrnutie informácií o type a na tento účel používame túto metódu. |
povoliť (funkcia DeserializationFeature)
| ObjectMapper | Používa sa na povolenie danej DeserializationConfig, JsonGenerator.Features pre inštancie analyzátora, JsonParser.Features pre inštancie analyzátora mapovača objektov. |
| enableDefaultTyping() Podobné metódy:
| ObjectMapper | Aby sme použili automatické zahrnutie typových informácií na de-serializáciu polymorfných typov, používame túto metódu, aby sme to umožnili. |
| findAndRegisterModules() | ObjectMapper | Je podobná metóde mapper.registerModules(mapper.findModules()). |
| findModules() Podobné metódy:
| Zoznam | Používa sa na nájdenie dostupných metód. Metóda využíva zariadenie JDK ServiceLoader s modulom poskytovaným SPI. |
| getDateFormat() | Formát dátumu | Používa sa na získanie formátu dátumu. |
| getDeserializationConfig() | DeserializationConfig | Používa sa na získanie zdieľaného predvoleného objektu DeserializationConfig. Vrátený objekt definuje konfiguračné nastavenia pre de-serializáciu. |
| getDeserializationContext() | Kontext deserializácie | Používa sa na získanie aktuálneho kontextu deserializácie. |
| getFactory() | JsonFactory | Ak mapovač potrebuje skonštruovať Json syntaktický analyzátor a generátory, potrebuje json factory a na to, aby sme to dosiahli, používame metódu getFactory(). |
| getInjectableValues() | InjectableValues | Používa sa na získanie injekčných hodnôt. |
| getJsonFactory() | JsonFactory | Je to zastaraná metóda na získanie továrne Json. |
| getNodeFactory() | JsonNodeFactory | Používa sa na získanie JsonNodeFactory, ktorú používa mapovač v čase priameho vytvárania koreňových inštancií JsonNode pre stromy. |
| getPropertyNamingStrategy() | PropertyNamingStrategy | Ako už názov napovedá, používa sa na stratégiu pomenovania nehnuteľnosti. |
| getSerializationConfig() | SerializationConfig | Používa sa na získanie zdieľaného predvoleného objektu SerializationConfig. Vrátený objekt definuje konfiguračné nastavenia pre serializáciu. |
| getSerializerFactory() | SerializerFactory | Používa sa na získanie aktuálneho SerializerFactory. |
| getSerializerProvider() | SerializerProvider | Je to prístupový objekt pre továreň, ktorý sa používa na vytváranie inštancií volaním DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory). |
| getSerializerProviderInstance() | SerializerProvider | Je to prístupový objekt, ktorý sa používa na vytvorenie a vrátenie inštancie SerializerProvider, ktorú môžeme použiť na prístup k serializátorom. |
| getSubtypeResolver() | SubtypeResolver | Používa sa na prístup k používanému prekladaču podtypov. |
| getTypeFactory() | TypeFactory | Je to prístupový objekt, ktorý sa používa na získanie inštancie aktuálne nakonfigurovanej TypeFactory. |
| getVisibilityChecker() | VisibilityChecker | Používa sa na prístup k aktuálne nakonfigurovanej kontrole viditeľnosti. |
| isEnabled(DeserializationFeature f) Podobné metódy:
| Boolean | Metóda isEnable() a jej variácie sa používajú na kontrolu, či je daná funkcia špecifická pre deserializáciu, JsonFactory, JsonGenerator, JsonParser, Mapper alebo Serialization povolená alebo nie. |
| mixInCount() | int | Používa sa na získanie počtu mixIn. |
| čitateľ() Podobné metódy:
| ObjectReader | Metóda reader() a jej variácie sú továrenské metódy, ktoré sa používajú na vytvorenie inštancie ObjectReader. Na základe požiadavky môžeme odovzdať variant kódovania Base64 pre binárne dáta kódované pomocou Base64, predvolené atribúty, povolené funkcie, injektovateľné hodnoty, JsonNodeFactory na vytváranie stromov JSON. |
| readerFor (typ triedy) | ObjectReader | Je to továrenská metóda, ktorá sa používa na zostavenie ObjectReadera a umožňuje operácie čítania alebo aktualizácie pre inštancie špecifikovaného typu. |
| readerFor (typ Java) | ObjectReader | Je to továrenská metóda, ktorá sa používa na zostavenie ObjectReadera a umožňuje operácie čítania alebo aktualizácie pre inštancie špecifikovaného JavaType. |
| readerFor (typ referencie typu) | ObjectReader | Je to továrenská metóda, ktorá sa používa na zostavenie ObjectReadera a umožňuje operácie čítania alebo aktualizácie pre inštancie daného TypeReference. |
| readerForUpdating(Object valueToUpdate) | ObjectReader | Je to továrenská metóda, ktorá sa používa na zostavenie ObjectReadera umožňujúce operácie aktualizácie pre daný objekt. |
| readerWithView (zobrazenie triedy) | ObjectReader | Je to továrenská metóda, ktorá sa používa na konštrukciu ObjectReader, čo umožňuje de-serializácia objektov s daným JSON View. |
readTree(byte[] content)
| JsonNode ALEBO T | ReadTree() a jej variácie sa používajú na de-serializáciu obsahu JSON ako stromu vyjadreného pomocou sady inštancií JsonNode. |
| readValue(byte[] src, Trieda valueType) Podobné metódy
| T ALEBO MappingIterator | ReadValue() a jej variácie sa používajú na de-serializáciu obsahu JSON
|
| readValues(JsonParser p, trieda valueType) Podobné metódy:
| MappingIterator | ReadValues() a jej variácie sa používajú na čítanie sekvencie objektov z prúdu syntaktického analyzátora. |
| registerModule (modul modulu) Podobné metódy:
| ObjectMapper | RegisterModule() a jeho variácie sa používajú na registráciu modulu, ktorý má schopnosť rozšíriť funkčnosť poskytovanú mapovačom. |
| registerSubtypes(NamedType... typy) | neplatné | Slúži na registráciu danej triedy ako podtypu. Týmto spôsobom môže rozlíšenie založené na názve typu spájať supertypy s podtypmi. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | ObjectMapper | Používa sa na nastavenie AnnotationIntrospector, ktorý používa inštancia mapovača na serializáciu aj de-serializáciu. |
| setAnnotationIntrospectors(AnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) | ObjectMapper | Používa sa na zmenu inštancie AnnotationIntrospector, ktorú používa aktuálna inštancia mapovača na serializáciu a de-serializáciu. |
| setBase64Variant(Base64Variant v) | ObjectMapper | Používa sa na konfiguráciu predvoleného Base64Variant, ktorý budú používať bajt[] serializátory a de-serializátory. |
| setConfig(Konfigurácia DeserializationConfig) | ObjectMapper | Túto metódu používame na vykonanie prepísania základného objektu DeserializationConfig Object. |
| setConfig(SerializationConfig config) | ObjectMapper | Túto metódu používame na vykonanie prepísania základného objektu SerializationConfig s konfiguračnými nastaveniami špecifickými pre serializáciu. |
| setDateFormat(DateFormat dateFormat) | ObjectMapper | Používa sa na konfiguráciu predvoleného formátu DateFormat tak, aby sa používal v čase serializácie časových hodnôt ako reťazcov alebo de-serializácie z reťazcov JSON. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | ObjectMapper | Používa sa na určenie tlačiarne PrettyPrinter, ktorá sa má používať, keď je povolená „predvolená tlač peknej tlače“. |
| setDefaultTyping(TypeResolverBuilder typer) | ObjectMapper | Používa sa na umožnenie automatického zahrnutia informácií o type. |
| setHandlerInstantiator(HandlerInstantiator ahoj) | Objekt | Používa sa na konfiguráciu HandlerInstantiator na vytváranie inštancií handlerov. |
| setFilterProvider(FilterProvider filterProvider) | ObjectMapper | Používa sa na konfiguráciu aktuálneho mapovača tak, aby používal zadaný FilterProvider na mapovanie ID filtra na skutočné inštancie filtra. |
| setInjectableValues(InjectableValues injectableValues) | ObjectMapper | Používa sa na konfiguráciu InjectableValues, ktorá sa používa na nájdenie hodnôt na injekciu. |
| setLocale(Local l) | ObjectMapper | Používa sa na prepísanie predvoleného miestneho nastavenia na formátovanie. |
| setMixInResolver(rozlíšenie ClassIntrospector.MixInResolver) | ObjectMapper | Túto metódu používame na zadanie daného resolvera na nájdenie zmiešaných tried, ktoré sa majú použiť, pričom prepíšeme priamo pridané mapovania. |
| setMixInAnnotations(Map | neplatné | Je to odpisovaná metóda na definovanie zmiešanej anotácie. |
| setNodeFactory(JsonNodeFactory f) | ObjectMapper | Používa sa na špecifikáciu JsonNodeFactory, ktorá sa má použiť na vytvorenie uzlov stromu koreňovej úrovne. |
| setMixIns(Map | ObjectMapper | Používa sa na definovanie zmiešaných anotácií, ktoré sa majú použiť na rozšírenie anotácií, ktoré majú spracovateľné triedy. |
| setPropertyInclusion(JsonInclude.Value incl) | ObjectMapper | Používa sa na nastavenie predvolenej stratégie zahrnutia vlastností POJO pre serializáciu. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | ObjectMapper | Používa sa na nastavenie stratégie pomenovania vlastných vlastností, ktorá sa má použiť. |
| setSerializerFactory(SerializerFactory f) | ObjectMapper | Používa sa na nastavenie konkrétnej SerializerFactory, ktorá sa má použiť na vytváranie (bean) serializátorov. |
| setSerializerProvider(DefaultSerializerProvider p) | ObjectMapper | Používa sa na nastavenie „návrhu“ inštancie SerializerProvider na jej použitie ako základ pre skutočné inštancie poskytovateľa, ktoré sa majú použiť na spracovanie ukladania inštancií JsonSerializer do vyrovnávacej pamäte. |
| setSubtypeResolver(SubtypeResolver str) | ObjectMapper | Používa sa na nastavenie vlastného prekladača podtypov, ktorý sa má použiť. |
| setTimeZone(TimeZone tz) | ObjectMapper | Používa sa na prepísanie predvoleného časového pásma, ktoré sa má použiť na formátovanie. |
| setTypeFactory(TypeFactory f) | ObjectMapper | Používa sa na prepísanie inštancie TypeFactory, ktorú používa aktuálny mapovač. |
setVisibility(PropertyAccessor forMethod, viditeľnosť JsonAutoDetect.Visibility)
| ObjectMapper | SetVisibility() a jej variácie sa používajú na nastavenie aktuálne nakonfigurovaného VisibilityCheckera. Vrátená inštancia ObjectMapper sa používa na kontrolu, či daný prvok vlastnosti môže byť automaticky detekovaný alebo nie. |
| treeAsTokens(TreeNode n) | JsonParser | Používa sa na zostavenie JsonParser z reprezentácie stromu JSON. |
| treeToValue(TreeNode n, Trieda valueType) | T | Používa sa na spojenie údajov, ktoré daný strom JSON obsahuje, do konkrétneho typu hodnoty. |
| verzia() | Verzia | Používa sa na získanie informácií o verzii uložených v jar, ktorý obsahuje túto triedu, a na čítanie z nej. |
spisovateľ()
| ObjectWriter | Write() a jeho variácie sa používajú na zostavenie ObjectWriter s predvolenými nastaveniami, daný variant kódovania Base64 pre binárne dáta kódované Base64, podrobnosti o kódovaní znakov pre výstup, predvolené atribúty, DateFormat, poskytovateľ filtra, objekt schémy pre JsonGenerator používaný na písanie obsahu, pekná tlačiareň na odsadenie alebo povolenú funkciu. |
| writeFor(Class rootType) - | ObjectWriter | Používa sa na zostavenie ObjectWriter na serializáciu objektov pomocou špecifikovaného koreňového typu namiesto skutočného typu hodnoty za behu. |
| writeFor(JavaType rootType) | ObjectWriter | Používa sa na zostavenie ObjectWriter na serializáciu objektov pomocou špecifikovaného koreňového typu namiesto skutočného typu hodnoty za behu. |
| writeFor(TypeReference rootType) | ObjectWriter | Používa sa na zostavenie ObjectWriter na serializáciu objektov pomocou špecifikovaného koreňového typu namiesto skutočného typu hodnoty za behu. |
| spisovateľWithDefaultPrettyPrinter() | ObjectWriter | Je to továrenská metóda, ktorá sa používa na zostavenie ObjectWriter na serializáciu objektov pomocou pekne predvolenej tlačiarne na odsadenie. |
WriteWithType (RootType triedy)
| ObjectWriter | Tieto metódy sa odpisujú a namiesto nich používame metódu writeFor(TypeReference). |
| writeWithView(Class serializationView) | ObjectWriter | Je to továrenská metóda, ktorá sa používa na zostavenie ObjectWriter na serializáciu objektov pomocou špecifikovaného zobrazenia JSON. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | neplatné | Používa sa na serializáciu poskytnutého stromu JSON pomocou daného JsonGeneratora. |
| writeValue(File resultFile, Object value) | neplatné | Používa sa na serializáciu hodnoty Java ako výstup JSON a jej zápis do daného súbor. |
| writeValue(JsonGenerator g, Hodnota objektu). | neplatné | Používa sa na serializáciu hodnôt Java ako výstupu JSON pomocou daného JsonGenerator. |
| writeValue(OutputStream out, Hodnota objektu) | neplatné | Používa sa na serializáciu hodnoty Java ako výstupu JSON pomocou daného OutputStream. |
| writeValue(Writer w, Hodnota objektu) | neplatné | Používa sa na serializáciu hodnôt Java ako výstupu JSON pomocou daného Spisovateľ. |
| writeValueAsBytes (hodnota objektu) | bajt[] | Používa sa na serializáciu hodnôt Java ako bajtové pole. |
| writeValueAsString(hodnota objektu) | Reťazec | Používa sa na serializáciu hodnôt Java ako reťazec. |
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+ ' ]'; } } Výkon: