ОбјецтМаппер класа у Јацксону
ОбјецтМаппер је једна од најважнијих класа доступних у тхе Јацксон библиотека. Користи се за читање и писање ЈСОН података. Одговоран је за читање података из или у ПОЈО датотеку и у и из ЈСОН модела стабла.
Постоје следеће карактеристике класе ОбјецтМаппер:
- Подржава напредне концепте као што су Полиморфизам и Препознавање објеката.
- Веома је прилагодљив за рад са различитим стиловима ЈСОН садржаја.
- Ради као фабрика за унапред ОбјецтРеадер и ОбјецтВритер класе.
Класа ОбјецтМаппер је декларисана на следећи начин:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Нестед Цлассес
Следећа табела дефинише класе које проширују класу ОбјецтМаппер или, може се рећи, угнежђене класе ОбјецтМаппер класе.
| Класа | Опис |
|---|---|
| ДефаултТипеРесолверБуилдер | То је прилагођено ТипеРесолверБуилдер класа која се користи за добијање градитеља резолвера типа, са којима можемо да користимо 'подразумевано куцање'. |
| ДефаултТипинг | Да би се одредиле врсте типова, енумерације се користе са методом енаблеДефаултТипинг(). |
Сада, хајде да разумемо поља, конструкторе и методе класе ОбјецтМаппер:
Поља класе ОбјецтМаппер
protected DefaultDeserializationContext _deserializationContext
То је контекстни објекат нацрта који се чува за омогућавање прилагођених подкласа.
protected DeserializationConfig _deserializationConfig
То је конфигурациони објекат који се користи за дефинисање основних глобалних поставки за процес десеријализације.
заштићени ЈсонФацтори јсонФацтори
Да би се направила инстанца ЈсонПарсер и ЈсонГенератор, користи се ЈсонФацтори.
протецтед ИјецтаблеВалуес _ијецтаблеВалуес
То је провајдер који се користи за убацивање вредности у де-сериализоване ПОЈО.
заштићени ЦонфигОверридес _пропертиОверридес
Користи се за приступ тренутно активним заменама конфигурације по типу.
заштићен СимплеМикИнРесолвер _микИнс
То је мапирање које се користи за дефинисање начина примене мешаних напомена. Мапирање се врши на следећи начин:
Кључ: Унесите да бисте добили додатне напомене.
вредност: Тип који има напомене за „мешање“
заштићени Сет _регистередМодулеТипес
То је скуп који дефинише скуп типова модула који су регистровани.
заштићена СериализатионЦонфиг _сериализатионЦонфиг
То је такође конфигурациони објекат који се користи за дефинисање основних глобалних поставки за процес серијализације.
заштићен ЦонцуррентХасхМап
То је мапа која се користи за праћење де-сериализатора на основном нивоу. То је карта главног нивоа.
заштићени СериализерФацтори _сериализерФацтори
То је фабрика која се користи за конструисање серијализатора.
заштићени СубтипеРесолвер _субтипеРесолвер
Користи се за регистровање подтипова и њихово решавање за супер/подтипове по потреби.
заштићен ТипеФацтори _типеФацтори
То је фабрика која се користи за креирање ЈаваТипе инстанци. Потребни су за омогућавање модулима да додају више прилагођеног руковања типом.
protected DefaultSerializerProvider _serializerProvider
То је објекат који је одговоран за управљање приступом серијализаторима који се користе за серијализацију.
заштићене статичке БасеСеттингс ДЕФАУЛТ_БАСЕ
Основна подешавања укључују подразумеване вредности које се користе за све инстанце ОбјецтМаппер-а.
Конструктори класе ОбјецтМаппер
Постоје следећи конструктори класе ОбјецтМаппер:
| Цонструцтор | Опис |
|---|---|
| ОбјецтМаппер() | То је подразумевани конструктор који се користи за конструисање инстанце која користи дефаулт ЈсонФацтори, СериализерПровидер, и БеанСериализерФацтори. |
| ОбјецтМаппер (фабрика ЈсонФацтори) | Користи се за конструисање инстанце која користи дати ЈсонФацтори. Дати ЈсонФацтори се користи за конструисање ЈсонПарсерс и/или ЈсонГенераторс. |
| ОбјецтМаппер(фабрика ЈсонФацтори, провајдер СериализерПровидер1, ДесериализерПровидер провајдер2) | Користи се за конструисање инстанце која користи дато ЈсонФацтори, СериализерПровидер, и ДесериализерПровидер. Дати ЈсонФацтори се користи за конструисање ЈсонПарсерс и/или ЈсонГенераторс. |
| заштићени ОбјецтМаппер (ОбјецтМаппер мапер) | То је конструктор копирања који подржава цопи(). |
ОбјецтМаппер Цласс Метходс
Класа ОбјецтМаппер дефинише следеће методе:
| Метод | Ретурн Типе | Опис |
|---|---|---|
| _цхецкИнвалидЦопи(Цласс екп) | празнина | Користи се за проверу неважеће копије. |
| _цонфигАндВритеВалуе(ЈсонГенератор г, вредност објекта) | празнина | Користи се за конфигурисање генератора када је то потребно, а затим за обављање функције писања. |
| _цонверт(Објецт фромВалуе, ЈаваТипе тоВалуеТипе) | Објекат | Користи се за добијање стварне имплементације конверзије. Овде се методе читања и писања не користе за код. |
| _инитФорРеадинг(ЈсонПарсер п) | ЈсонТокен | Користи се за осигурање да ли је дати парсер спреман за читање садржаја ради повезивања података или не. |
| _финдРоотДесериализер(ДесериализатионЦонтект цткт, ЈаваТипе валуеТипе) | ЈсонДесериализер | За прослеђену вредност основног нивоа, ако желимо да лоцирамо де-серијализатор, користимо овај метод. |
| _невРеадер(десериализатионЦонфиг цонфиг) Сличан метод:
| ОбјецтРеадер | То је фабрички метод, тј. користи се за добијање инстанци ОбјецтРеадер-а одговарајућег подтипа. Да би се користио овај метод, неопходно је да подкласе морају да се надјачају. |
| _невВритер(СериализатионЦонфиг цонфиг) Сличне методе:
| ОбјецтВритер | То је фабрички метод, тј. користи се за добијање инстанци ОбјецтВритер одговарајућег подтипа. Да би се користио овај метод, неопходно је да подкласе морају да се надјачају. |
| _реадВалуе(ДесериализатионЦонфиг цфг, ЈсонПарсер п, ЈаваТипе валуеТипе) | Објекат | Користи се за добијање објекта који дефинише операцију читања вредности и везивања. |
| _сериализерПровидер(СериализатионЦонфиг цонфиг) | ДефаултСериализерПровидер | То је помоћни метод који се може заобићи и који се користи за конструисање СериализерПровидер-а. |
| аццептЈсонФорматВиситор(тип класе, ЈсонФорматВиситорВраппер посетилац) Сличан метод:
| празнина празнина | Ако желимо да посетимо хијерархију типова одређеног типа са наведеним посетиоцем, користимо овај метод. |
| аддХандлер(ДесериализатионПроблемХандлер х) | ОбјецтМаппер | Да бисмо решили одређене проблеме током десеријализације, користимо специфицирани ДесериализатионПроблемХандлер, а да бисмо додали руковалац, користимо овај метод. |
| аддМикИн(Цласс таргет, Цласс микинСоурце) | ОбјецтМаппер | Да бисмо користили мешану напомену за одређену класу или интерфејс за повећање, користимо овај метод да бисмо је додали. |
| цанДесериализе(ЈаваТипе тип) | Боолеан | Користи се за проверу да ли мапер може да де-сериализује објекат одређеног типа или не. |
| цанДесериализе(ЈаваТипе тип, АтомицРеференце узрок) | Боолеан | Слично је претходном методу. Једина разлика је у томе што може да врати бацач који је бачен у време конструисања серијализатора. Може се користити за откривање стварног проблема. |
| цанСериализе(тип класе) | Боолеан | Користи се за проверу да ли мапер може да серијализује објекат одређеног типа или не. |
| цанСериализе(тип класе, узрок АтомицРеференце) | Боолеан | Слично је претходном методу. Једина разлика је у томе што може да врати бацач који је бачен у време конструисања серијализатора. Може се користити за откривање стварног проблема. |
| цлеарПроблемХандлерс() | ОбјецтМаппер | То је један од метода који се користи за уклањање свих ДесериализатионПроблемХандлер инстанци из мапера који су регистровани. |
| цонфигуре(ДесериализатионФеатуре ф, логичко стање) сличне методе:
| ОбјецтМаппер | Користи се за промену стања укључене/искључене десериализације, Јсон Генератора, ЈсонПарсера, Маппера или Сериализатион функције за мапер објеката, инстанце генератора, инстанце парсера, инстанцу мапера или мапер објеката. |
| цонструцтТипе(Типе т) | ЈаваТипе | Ако желимо да конструишемо ЈаваТипе од датог типа без експлицитног контекста, користимо овај метод. |
| цонвертВалуе(Објецт фромВалуе, Цласс тоВалуеТипе) Сличне методе:
| Т | Ако желимо да извршимо конверзију дате вредности у два корака у инстанцу датог типа вредности, користимо методу цонверВалуе(). |
| цреатеАрраиНоде() | АрраиНоде | Користи се за креирање АрраиНоде. |
| дефаултЦлассИнтроспецтор() | ЦлассИнтроспецтор | Ако желимо да користимо подразумевани ЦлассИнтроспецтор, користимо ову помоћну методу која се може заменити за његову конструисање. |
| онемогући (функција ДесериализатионФеатуре) Сличне методе:
| ОбјецтМаппер | Користи се за онемогућавање дате ДесериализатионЦонфиг, ЈсонГенератор.Феатурес за инстанце парсера, ЈсонПарсер.Феатурес за инстанце парсера мапера објеката. |
| дисаблеДефаултТипинг() | ОбјецтМаппер | Много пута морамо да онемогућимо аутоматско укључивање информација о типу, и у ту сврху користимо овај метод. |
омогући (функција ДесериализатионФеатуре)
| ОбјецтМаппер | Користи се за омогућавање дате ДесериализатионЦонфиг, ЈсонГенератор.Феатурес за инстанце парсера, ЈсонПарсер.Феатурес за инстанце парсера мапера објеката. |
| енаблеДефаултТипинг() Сличне методе:
| ОбјецтМаппер | Да бисмо користили аутоматско укључивање информација о типу за десеријализацију полиморфних типова, користимо овај метод да бисмо то омогућили. |
| финдАндРегистерМодулес() | ОбјецтМаппер | Сличан је методи маппер.регистерМодулес(маппер.финдМодулес()). |
| финдМодулес() Сличне методе:
| Листа | Користи се за лоцирање доступних метода. Метода користи ЈДК СервицеЛоадер са СПИ обезбеђеним модулом. |
| гетДатеФормат() | Формат датума | Користи се за добијање формата датума. |
| гетДесериализатионЦонфиг() | ДесериализатионЦонфиг | Користи се за добијање дељеног подразумеваног објекта ДесериализатионЦонфиг. Враћени објекат дефинише конфигурациона подешавања за де-сериализацију. |
| гетДесериализатионЦонтект() | ДесериализатионЦонтект | Користи се за добијање тренутног ДесериализатионЦонтект. |
| гетФацтори() | ЈсонФацтори | Ако мапер треба да направи Јсон парсер и генераторе, потребна му је јсон фабрика, а да бисмо то добили, користимо метод гетФацтори(). |
| гетИњецтаблеВалуес() | ИјецтаблеВалуес | Користи се за добијање ињекционих вредности. |
| гетЈсонФацтори() | ЈсонФацтори | То је застарели метод за добијање фабрике Јсон. |
| гетНодеФацтори() | ЈсонНодеФацтори | Користи се за добијање ЈсонНодеФацтори који користи мапер у време директног конструисања коренских ЈсонНоде инстанци за дрвеће. |
| гетПропертиНамингСтратеги() | ПропертиНамингСтратеги | Као што назив имплицира, користи се за стратегију именовања имовине. |
| гетСериализатионЦонфиг() | СериализатионЦонфиг | Користи се за добијање дељеног подразумеваног објекта СериализатионЦонфиг. Враћени објекат дефинише подешавања конфигурације за серијализацију. |
| гетСериализерФацтори() | СериализерФацтори | Користи се за добијање тренутног СериализерФацтори. |
| гетСериализерПровидер() | СериализерПровидер | То је приступник за фабрику, који се користи за креирање инстанци позивањем ДефаултСериализерПровидер.цреатеИнстанце(СериализатионЦонфиг, СериализерФацтори). |
| гетСериализерПровидерИнстанце() | СериализерПровидер | То је приступник који се користи за конструисање и враћање инстанце СериализерПровидер-а, који можемо користити за приступ серијализаторима. |
| гетСубтипеРесолвер() | СубтипеРесолвер | Користи се за приступ резолучу подтипова који се користи. |
| гетТипеФацтори() | ТипеФацтори | То је приступник који се користи за добијање инстанце тренутно конфигурисаног ТипеФацтори. |
| гетВисибилитиЦхецкер() | ВисибилитиЦхецкер | Користи се за приступ тренутно конфигурисаном контролору видљивости. |
| исЕнаблед (ДесериализатионФеатуре ф) Сличне методе:
| Боолеан | Метод исЕнабле() и његове варијације се користе за проверу да ли је дата функција специфична за десериализацију, ЈсонФацтори, ЈсонГенератор, ЈсонПарсер, Маппер или Сериализатион, омогућена или не. |
| микИнЦоунт() | инт | Користи се за добијање броја микИн-а. |
| читач() Сличне методе:
| ОбјецтРеадер | Метод реадер() и његове варијације су фабричке методе које се користе за конструисање инстанце ОбјецтРеадер-а. На основу захтева, можемо проследити варијанту кодирања Басе64 за бинарне податке кодиране Басе64, подразумеване атрибуте, омогућене функције, вредности за убризгавање, ЈсонНодеФацтори за конструисање ЈСОН стабала. |
| реадерФор (тип класе) | ОбјецтРеадер | То је фабрички метод који се користи за конструисање ОбјецтРеадер-а, омогућавајући операције читања или ажурирања за инстанце наведеног типа. |
| реадерФор(ЈаваТипе тип) | ОбјецтРеадер | То је фабрички метод који се користи за конструисање ОбјецтРеадер-а, омогућавајући операције читања или ажурирања за инстанце специфицираног ЈаваТипе-а. |
| реадерФор(ТипеРеференце типе) | ОбјецтРеадер | То је фабрички метод који се користи за конструисање ОбјецтРеадер-а, омогућавајући операције читања или ажурирања за инстанце дате ТипеРеференце. |
| реадерФорУпдатинг(Објецт валуеТоУпдате) | ОбјецтРеадер | То је фабрички метод који се користи за конструисање ОбјецтРеадер-а који омогућава операције ажурирања за дати објекат. |
| реадерВитхВиев(Цласс виев) | ОбјецтРеадер | То је фабрички метод који се користи за конструисање ОбјецтРеадер-а, омогућавајући десеријализација објеката са датим ЈСОН приказом. |
реадТрее(бајт[] садржај)
| ЈсонНоде ИЛИ Т | РеадТрее() и његове варијације се користе за десеријализацију ЈСОН садржаја као стабла израженог помоћу скупа ЈсонНоде инстанци. |
| реадВалуе(бите[] срц, Цласс валуеТипе) Сличне методе
| Т ИЛИ МаппингИтератор | РеадВалуе() и његове варијације се користе за десеријализацију ЈСОН садржаја
|
| реадВалуес(ЈсонПарсер п, Цласс валуеТипе) Сличне методе:
| МаппингИтератор | РеадВалуес() и његове варијације се користе за читање низа објеката из тока парсера. |
| регистерМодуле(модул модула) Сличне методе:
| ОбјецтМаппер | РегистерМодуле() и његове варијације се користе за регистровање модула који има способност да прошири функционалност коју пружа мапер. |
| регистерСубтипес(НамедТипе... типови) | празнина | Користи се за регистровање дате класе као подтипа. Радећи то, резолуција заснована на називу типа може повезати супертипове са подтиповима. |
| сетАннотатионИнтроспецтор(АннотатионИнтроспецтор аи) | ОбјецтМаппер | Користи се за подешавање АннотатионИнтроспецтор-а, који користи инстанца мапера и за серијализацију и за десеријализацију. |
| сетАннотатионИнтроспецторс(АннотатионИнтроспецтор сериализерАИ, АннотатионИнтроспецтор десериализерАИ) | ОбјецтМаппер | Користи се за промену инстанце АннотатионИнтроспецтор-а коју користи тренутна инстанца мапера за серијализацију и десеријализацију. |
| сетБасе64Вариант(Басе64Вариант в) | ОбјецтМаппер | Користи се за конфигурисање подразумеване Басе64Вариант коју ће користити бите[] серијализатори и де-серијализатори. |
| сетЦонфиг(десериализатионЦонфиг цонфиг) | ОбјецтМаппер | Да бисмо извршили надјачавање основног објекта ДесериализатионЦонфиг, користимо овај метод. |
| сетЦонфиг(СериализатионЦонфиг цонфиг) | ОбјецтМаппер | Да бисмо извршили надјачавање основног објекта СериализатионЦонфиг који има конфигурационе поставке специфичне за серијализацију, користимо овај метод. |
| сетДатеФормат(ДатеФормат датеФормат) | ОбјецтМаппер | Користи се за конфигурисање подразумеваног формата датума да га користи у време серијализације временских вредности као стрингова или де-сериализације из ЈСОН низова. |
| сетДефаултПреттиПринтер(ПреттиПринтер пп) | ОбјецтМаппер | Користи се за одређивање ПреттиПринтер-а за његово коришћење када је омогућено 'подразумевано лепо штампање'. |
| сетДефаултТипинг(ТипеРесолверБуилдер типер) | ОбјецтМаппер | Користи се да омогући аутоматско укључивање информација о типу. |
| сетХандлерИнстантиатор(ХандлерИнстантиатор здраво) | Објекат | Користи се за конфигурисање ХандлерИнстантиатор-а за креирање инстанци руковаоца. |
| сетФилтерПровидер(ФилтерПровидер филтерПровидер) | ОбјецтМаппер | Користи се за конфигурисање тренутног мапера да користи наведени ФилтерПровидер за мапирање ИД-ова филтера у стварне инстанце филтера. |
| сетИњецтаблеВалуес(ИњецтаблеВалуес ињецтаблеВалуес) | ОбјецтМаппер | Користи се за конфигурисање ИјецтаблеВалуес који се користи за проналажење вредности за убацивање. |
| сетЛоцале(Лоцал л) | ОбјецтМаппер | Користи се да замени подразумевани локал који се користи за форматирање. |
| сетМикИнРесолвер(ЦлассИнтроспецтор.МикИнРесолвер разреши) | ОбјецтМаппер | Користимо овај метод да наведемо дати разрешивач да лоцирамо мешане класе које треба да користимо, поништавајући директно додата мапирања. |
| сетМикИнАннотатионс(Мап | празнина | То је амортизована метода за дефинисање мешане напомене. |
| сетНодеФацтори(ЈсонНодеФацтори ф) | ОбјецтМаппер | Користи се за спецификацију ЈсонНодеФацтори за коришћење за конструисање чворова стабла коренског нивоа. |
| сетМикИнс(Мап | ОбјецтМаппер | Користи се за дефинисање мешаних напомена које ће се користити за повећање напомена које имају обрадиве класе. |
| сетПропертиИнцлусион(ЈсонИнцлуде.Валуе инцл) | ОбјецтМаппер | Користи се за постављање подразумеване стратегије укључивања ПОЈО својства за серијализацију. |
| сетПропертиНамингСтратеги(ПропертиНамингСтратеги с) | ОбјецтМаппер | Користи се за постављање прилагођене стратегије именовања својстава која ће се користити. |
| сетСериализерФацтори(СериализерФацтори ф) | ОбјецтМаппер | Користи се за подешавање специфичног СериализерФацтори да се користи за конструисање (беан) серијализатора. |
| сетСериализерПровидер(ДефаултСериализерПровидер п) | ОбјецтМаппер | Користи се за постављање инстанце СериализерПровидер 'нацрта' да би се користила као основа за стварне инстанце добављача које ће се користити за руковање кеширањем ЈсонСериализер инстанци. |
| сетСубтипеРесолвер(СубтипеРесолвер стр) | ОбјецтМаппер | Користи се за постављање прилагођеног разрешивача подтипова за употребу. |
| сетТимеЗоне(ТимеЗоне тз) | ОбјецтМаппер | Користи се да замени подразумевану временску зону која се користи за форматирање. |
| сетТипеФацтори(ТипеФацтори ф) | ОбјецтМаппер | Користи се за надјачавање инстанце ТипеФацтори, коју користи тренутни мапер. |
сетВисибилити(ПропертиАццессор форМетход, ЈсонАутоДетецт.Висибилити висибилити)
| ОбјецтМаппер | СетВисибилити() и његова варијација се користе за подешавање тренутно конфигурисаног ВисибилитиЦхецкер-а. Враћена ОбјецтМаппер инстанца се користи за проверу да ли се дати елемент својства може аутоматски открити или не. |
| трееАсТокенс(ТрееНоде н) | ЈсонПарсер | Користи се за конструисање ЈсонПарсер-а из ЈСОН приказа стабла. |
| трееТоВалуе(ТрееНоде н, Цласс валуеТипе) | Т | Користи се за повезивање података које садржи ЈСОН стабло у одређени тип вредности. |
| верзија() | Версион | Користи се за добијање информација о верзији које се чувају и читају из тегле која садржи ову класу. |
писац ()
| ОбјецтВритер | Врите() и његове варијације се користе за конструисање ОбјецтВритер-а са подразумеваним поставкама, с обзиром на варијанту кодирања Басе64 за бинарне податке кодиране Басе64, детаље о избегавању знакова за излаз, подразумеване атрибуте, ДатеФормат, добављач филтера, објекат шеме у ЈсонГенератор који се користи за писање садржаја, леп штампач за увлачење или омогућена функција. |
| вритерФор(Цласс роотТипе) - | ОбјецтВритер | Користи се за конструисање ОбјецтВритер-а за серијализацију објеката користећи специфицирани основни тип уместо стварног типа вредности извођења. |
| вритерФор(ЈаваТипе роотТипе) | ОбјецтВритер | Користи се за конструисање ОбјецтВритер-а за серијализацију објеката користећи специфицирани основни тип уместо стварног типа вредности извођења. |
| вритерФор(ТипеРеференце роотТипе) | ОбјецтВритер | Користи се за конструисање ОбјецтВритер-а за серијализацију објеката користећи специфицирани основни тип уместо стварног типа вредности извођења. |
| вритерВитхДефаултПреттиПринтер() | ОбјецтВритер | То је фабрички метод који се користи за конструисање ОбјецтВритер-а за серијализацију објеката користећи прилично подразумевани штампач за увлачење. |
вритерВитхТипе(Цласс роотТипе)
| ОбјецтВритер | Ове методе се амортизују, а уместо њих користимо метод вритерФор(ТипеРеференце). |
| вритерВитхВиев(Цласс сериализатионВиев) | ОбјецтВритер | То је фабрички метод који се користи за конструисање ОбјецтВритер-а за серијализацију објеката коришћењем специфицираног ЈСОН приказа. |
| вритеТрее(ЈсонГенератор јген, ЈсонНоде роотНоде) | празнина | Користи се за серијализацију датог ЈСОН стабла коришћењем датог ЈсонГенератора. |
| вритеВалуе (Датотека резултата датотеке, вредност објекта) | празнина | Користи се за серијализацију Јава вредности као ЈСОН излаз и записивање у дату фајл. |
| вритеВалуе(ЈсонГенератор г, вредност објекта). | празнина | Користи се за серијализацију Јава вредности као ЈСОН излаз помоћу датог ЈсонГенератор. |
| вритеВалуе(ОутпутСтреам оут, Објецт валуе) | празнина | Користи се за серијализацију Јава вредности као ЈСОН излаз помоћу датог ОутпутСтреам. |
| вритеВалуе (Вритер в, вредност објекта) | празнина | Користи се за серијализацију Јава вредности као ЈСОН излаз помоћу датог Вритер. |
| вритеВалуеАсБитес(вредност објекта) | бајт[] | Користи се за серијализацију Јава вредности као низ бајтова. |
| вритеВалуеАсСтринг(вредност објекта) | Низ | Користи се за серијализацију Јава вредности као стринг. |
ЈацксонЕкампле.јава
//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+ ' ]'; } } Излаз: