Клас ObjectMapper в Джаксън

Клас ObjectMapper в Джаксън

ObjectMapper е един от най-важните налични класове в Джаксън библиотека. Използва се за четене и запис на JSON данни. Той отговаря за четенето на данни от или към POJO файл и към и от JSON модел на дърво.

Има следните характеристики на класа ObjectMapper:

  1. Той поддържа разширени концепции като Полиморфизъм и Разпознаване на обекти.
  2. Той е много персонализиран за работа с различни стилове JSON съдържание.
  3. Работи като фабрика за аванс ObjectReader и ObjectWriter класове.

Класът ObjectMapper се декларира по следния начин:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Вложени класове

Следващата таблица дефинира класовете, които разширяват класа ObjectMapper или, може да се каже, вложените класове на класа ObjectMapper.

Клас Описание
DefaultTypeResolverBuilder Това е персонализирано TypeResolverBuilder клас, който се използва за получаване на създателите на преобразуватели на типове, с които можем да използваме „въвеждане по подразбиране“.
Въвеждане по подразбиране За да се определи вида на типовете, се използват изброявания с метода enableDefaultTyping().

Сега нека разберем полетата, конструкторите и методите на класа ObjectMapper:

Полета на клас ObjectMapper

protected DefaultDeserializationContext _deserializationContext

Това е контекстен обект на план, който се съхранява за разрешаване на потребителски подкласове.

protected DeserializationConfig _deserializationConfig

Това е конфигурационен обект, който се използва за дефиниране на основните глобални настройки за процеса на десериализация.

защитен JsonFactory jsonFactory

За да се създаде екземпляр на JsonParser и JsonGenerator, се използва JsonFactory.

защитени InjectableValues ​​_injectableValues

Това е доставчик, който се използва за инжектиране на стойностите в десериализирани POJO.

защитени ConfigOverrides _propertyOverrides

Използва се за достъп до текущо активните замени на конфигурацията за тип.

защитен SimpleMixInResolver _mixIns

Това е картографиране, което се използва за определяне на начин за прилагане на анотации за смесване. Картирането се извършва по следния начин:

Ключ: Въведете, за да получите допълнителни пояснения.

Стойност: Тип, който има анотации за „смесване“

защитен Задайте _registeredModuleTypes

Това е набор, който дефинира набора от типове модули, които са регистрирани.

защитен SerializationConfig _serializationConfig

Това също е конфигурационен обект, който се използва за дефиниране на основните глобални настройки за процеса на сериализация.

защитена ConcurrentHashMap _rootDeserializers

Това е карта, която се използва за проследяване на де-сериализаторите на ниво root. Това е карта на основно ниво.

защитен SerializerFactory _serializerFactory

Това е фабрика, която се използва за конструиране на сериализаторите.

защитен SubtypeResolver _subtypeResolver

Използва се за регистриране на подтипове и за решаването им за супер/подтипове, ако е необходимо.

защитена TypeFactory _typeFactory

Това е фабрика, която се използва за създаване на копия на JavaType. Те са необходими, за да се позволи на модулите да добавят повече обработка на персонализирани типове.

protected DefaultSerializerProvider _serializerProvider

Това е обект, който отговаря за управлението на достъпа до сериализаторите, използвани за сериализиране.

защитени статични BaseSettings DEFAULT_BASE

Основните настройки включват настройки по подразбиране, използвани за всички екземпляри на ObjectMapper.

Конструктори на класа ObjectMapper

Има следните конструктори на класа ObjectMapper:

Конструктор Описание
ObjectMapper() Това е конструктор по подразбиране, използван за конструиране на екземпляр, който използва default JsonFactory, SerializerProvider, и BeanSerializerFactory.
ObjectMapper (JsonFactory фабрика) Използва се за конструиране на екземпляр, който използва дадения JsonFactory. Дадената JsonFactory се използва за конструиране JsonParsers и/или JsonGenerators.
ObjectMapper (фабрика JsonFactory, SerializerProvider доставчик1, DeserializerProvider доставчик2) Използва се за конструиране на екземпляр, който използва даденото JsonFactory, SerializerProvider, и DeserializerProvider. Дадената JsonFactory се използва за конструиране JsonParsers и/или JsonGenerators.
защитен ObjectMapper (ObjectMapper картограф) Това е копиращ конструктор за поддръжка на copy().

Методи на клас ObjectMapper

Класът ObjectMapper дефинира следните методи:

Метод Тип връщане Описание
_checkInvalidCopy(клас exp) невалиден Използва се за проверка на невалидно копие.
_configAndWriteValue(JsonGenerator g, стойност на обект) невалиден Използва се за конфигуриране на генератора, когато е необходимо и след това за изпълнение на функцията за запис.
_convert(Object fromValue, JavaType toValueType) Обект Използва се за получаване на действителното изпълнение на преобразуването. Тук методите за четене и запис не се използват за кода.
_initForReading(JsonParser p) JsonToken Използва се, за да се гарантира дали дадения анализатор е готов за четене на съдържание за обвързване на данни или не.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer За предадената стойност на основно ниво, ако искаме да намерим десериализатора, използваме този метод.
_newReader(конфигурация на DeserializationConfig)
Подобен метод:
  1. _newReader(DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues ​​injectableValues)
ObjectReader Това е фабричен метод, т.е. използва се за получаване на екземплярите на ObjectReader от правилния подтип. За да се използва този метод, е необходимо подкласовете да се заменят.
_newWriter(Конфигурация на SerializationConfig)
Подобни методи:
  1. _newWriter (конфигурация на SerializationConfig, схема на FormatSchema)
  2. _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp)
ObjectWriter Това е фабричен метод, т.е. използва се за получаване на екземплярите на ObjectWriter от правилния подтип. За да се използва този метод, е необходимо подкласовете да се заменят.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) Обект Използва се за получаване на обект, който дефинира четене на стойност и операция за свързване.
_serializerProvider(SerializationConfig конфигурация) DefaultSerializerProvider Това е заместващ помощен метод, който се използва за конструиране на SerializerProvider.
acceptJsonFormatVisitor(тип клас, JsonFormatVisitorWrapper посетител)
Подобен метод:
  1. acceptJsonFormatVisitor(тип JavaType, посетител JsonFormatVisitorWrapper)
невалиден
невалиден
Ако искаме да посетим йерархията на определен тип с посочения посетител, използваме този метод.
addHandler(DeserializationProblemHandler h) ObjectMapper За да се справим с определени проблеми по време на десериализацията, ние използваме определен DeserializationProblemHandler, а за да добавим манипулатора, използваме този метод.
addMixIn(целеви клас, клас mixinSource) ObjectMapper За да използваме смесена анотация за определен допълващ клас или интерфейс, ние използваме този метод, за да го добавим.
canDeserialize (тип JavaType) Булева стойност Използва се за проверка дали картографът може да десериализира обект от определен тип или не.
canDeserialize(тип JavaType, AtomicReference причина) Булева стойност Подобен е на предишния метод. Единствената разлика е, че може да върне хвърляемото, което е било хвърлено по време на конструирането на сериализатора. Хвърляемият може да се използва, за да разберете действителния проблем.
canSerialize (тип клас) Булева стойност Използва се за проверка дали картографът може да сериализира обект от определен тип или не.
canSerialize(тип клас, AtomicReference причина) Булева стойност Подобен е на предишния метод. Единствената разлика е, че може да върне хвърляемото, което е било хвърлено по време на конструирането на сериализатора. Хвърляемият може да се използва, за да разберете действителния проблем.
clearProblemHandlers() ObjectMapper Това е един от методите, който се използва за премахване на всички случаи на DeserializationProblemHandlers от картографа, които са регистрирани.
configure(DeserializationFeature f, булево състояние)
подобни методи:
  1. configure(JsonGenerator.Feature f, булево състояние)
  2. configure(JsonParser.Feature f, булево състояние)
  3. configure(MapperFeature f, булево състояние)
  4. configure(SerializationFeature f, булево състояние)
ObjectMapper Използва се за промяна на състоянието на функция за включване/изключване на десериализация, Json Generator, JsonParser, Mapper или Serialization за съпоставителя на обекти, екземпляри на генератор, екземпляри на анализатор, екземпляр на съпоставител или съпоставител на обекти.
constructType(Тип t) JavaType Ако искаме да конструираме JavaType от даден тип без изричен контекст, използваме този метод.
convertValue(Object fromValue, Class toValueType)
Подобни методи:
  1. convertValue(Object fromValue, JavaType toValueType)
T Ако искаме да извършим преобразуване в две стъпки на дадена стойност в екземпляр от даден тип стойност, използваме метода converValue().
createArrayNode() ArrayNode Използва се за създаване на ArrayNode.
defaultClassIntrospector() ClassIntrospector Ако искаме да използваме ClassIntrospector по подразбиране, използваме този помощен метод Overridable за конструирането му.
деактивиране (функция DeserializationFeature)
Подобни методи:
  1. деактивиране (първо DeserializationFeature, DeserializationFeature... f)
  2. деактивиране (JsonGenerator.Feature... функции)
  3. деактивиране (JsonParser.Feature... функции)
  4. деактивиране (MapperFeature... f)
  5. деактивиране (SerializationFeature f)
  6. деактивиране (първо SerializationFeature, SerializationFeature... f)
ObjectMapper Използва се за деактивиране на даден DeserializationConfig, JsonGenerator.Features за екземпляри на анализатор, JsonParser.Features за екземпляри на анализатор на картографа на обекти.
disableDefaultTyping() ObjectMapper Много пъти трябва да деактивираме автоматичното включване на информация за типа и за тази цел използваме този метод.
активиране (функция DeserializationFeature)
  1. активиране (първо DeserializationFeature, DeserializationFeature... f)
  2. активиране (JsonGenerator.Feature... функции)
    активиране (JsonParser.Feature... функции)
  3. активиране (MapperFeature... f)
  4. активиране (SerializationFeature f)
  5. активиране (първо SerializationFeature, SerializationFeature... f)
ObjectMapper Използва се за активиране на дадения DeserializationConfig, JsonGenerator.Features за екземпляри на анализатор, JsonParser.Features за екземпляри на анализатор на обектния картограф.
enableDefaultTyping()
Подобни методи:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(ObjectMapper.DefaultTyping приложимост, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping приложимост, String propertyName)
ObjectMapper За да използваме автоматично включване на информация за типове за десериализация на полиморфни типове, ние използваме този метод, за да го активираме.
findAndRegisterModules() ObjectMapper Той е подобен на метода mapper.registerModules(mapper.findModules()).
findModules()
Подобни методи:
  1. findModules(ClassLoader classLoader)
списък Използва се за намиране на наличните методи. Методът използва възможността JDK ServiceLoader с осигурен от модул SPI.
getDateFormat() Формат на датата Използва се за получаване на формата на датата.
getDeserializationConfig() DeserializationConfig Използва се за получаване на споделения обект DeserializationConfig по подразбиране. Върнатият обект дефинира конфигурационните настройки за десериализация.
getDeserializationContext() Контекст на десериализация Използва се за получаване на текущия контекст на десериализация.
getFactory() JsonFactory Ако картографът трябва да конструира Json анализатор и генератори, той се нуждае от json factory и за да получи това, ние използваме метода getFactory().
getInjectableValues() InjectableValues Използва се за получаване на стойности за инжектиране.
getJsonFactory() JsonFactory Това е остарял метод за получаване на Json фабриката.
getNodeFactory() JsonNodeFactory Използва се за получаване на JsonNodeFactory, който се използва от картографа по време на директно конструиране на коренни екземпляри на JsonNode за дървета.
getPropertyNamingStrategy() PropertyNamingStrategy Както подсказва името, той се използва за стратегията за именуване на имота.
getSerializationConfig() SerializationConfig Използва се за получаване на споделения обект SerializationConfig по подразбиране. Върнатият обект дефинира конфигурационните настройки за сериализиране.
getSerializerFactory() SerializerFactory Използва се за получаване на текущия SerializerFactory.
getSerializerProvider() SerializerProvider Това е инструмент за достъп за фабриката, който се използва за създаване на екземпляри чрез извикване на DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() SerializerProvider Това е инструмент за достъп, който се използва за конструиране и връщане на екземпляр на SerializerProvider, който можем да използваме за достъп до сериализатори.
getSubtypeResolver() SubtypeResolver Използва се за достъп до използвания преобразувател на подтипове.
getTypeFactory() TypeFactory Това е инструмент за достъп, който се използва за получаване на екземпляр на текущо конфигурирания TypeFactory.
getVisibilityChecker() VisibilityChecker Използва се за достъп до текущо конфигурираната проверка на видимостта.
isEnabled(DeserializationFeature f)
Подобни методи:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. isEnabled(SerializationFeature f)
Булева стойност Методът isEnable() и неговите варианти се използват за проверка дали дадена функция за десериализация, JsonFactory, JsonGenerator, JsonParser, Mapper или Serialization е активирана или не.
mixInCount() вътр Използва се за получаване на броя на mixIn.
читател()
Подобни методи:
  1. четец (Base64Variant defaultBase64)
  2. четец (тип клас)
  3. четец (ContextAttributes attrs)
  4. четец (функция DeserializationFeature)
  5. четец (първо DeserializationFeature, DeserializationFeature... друго)
  6. четец (схема на FormatSchema)
  7. четец (InjectableValues ​​injectableValues)
  8. четец (тип JavaType)
  9. четец (JsonNodeFactory f)
  10. четец (тип TypeReference)
ObjectReader Методът reader() и неговите вариации са фабричните методи, които се използват за конструиране на екземпляр на ObjectReader. Въз основа на изискването можем да предадем варианта на кодиране Base64 за кодирани с Base64 двоични данни, атрибути по подразбиране, активирани функции, инжектируеми стойности, JsonNodeFactory за конструиране на JSON дървета.
readerFor (тип клас) ObjectReader Това е фабричен метод, който се използва за конструиране на ObjectReader, позволяващ операции за четене или актуализиране за екземпляри от посочения тип.
readerFor (тип JavaType) ObjectReader Това е фабричен метод, който се използва за конструиране на ObjectReader, позволяващ операции за четене или актуализиране за екземпляри на определен JavaType.
readerFor(тип TypeReference) ObjectReader Това е фабричен метод, който се използва за конструиране на ObjectReader, позволяващ операции за четене или актуализиране за екземпляри на даден TypeReference.
readerForUpdating(Object valueToUpdate) ObjectReader Това е фабричен метод, който се използва за конструиране на ObjectReader, позволяващ операции за актуализиране на даден обект.
readerWithView (изглед на клас) ObjectReader Това е фабричен метод, който се използва за конструиране на ObjectReader, позволяващ
десериализация на обекти с даден JSON изглед.
readTree(байт[] съдържание)
  1. readTree (Файлов файл)
  2. readTree(InputStream in)
  3. readTree(JsonParser p)
  4. readTree(Четец r)
  5. readTree (съдържание на низ)
  6. readTree (URL източник)
JsonNode
ИЛИ
T
ReadTree() и неговите варианти се използват за де-сериализиране на съдържанието на JSON като дърво, изразено с помощта на набор от екземпляри на JsonNode.
readValue(byte[] src, Class valueType)
Подобни методи
  1. readValue(byte[] src, int offset, int len, JavaType valueType)
  2. readValue(byte[] src, int offset, int len, Class valueType)
  3. readValue(байт[] src, JavaType valueType)
  4. readValue(DataInput src, Class valueType)
  5. readValue(File src, Class valueType)
  6. readValue(DataInput src, JavaType valueType)
  7. readValue(File src, JavaType valueType)
  8. readValue(File src, TypeReference valueTypeRef)
  9. readValue(InputStream src, JavaType valueType)
  10. readValue(byte[] src, TypeReference valueTypeRef)
  11. readValue(InputStream src, Class valueType)
  12. readValue(InputStream src, TypeReference valueTypeRef)
  13. readValue(JsonParser p, JavaType valueType)
  14. readValue(JsonParser p, Class valueType)
  15. readValue(JsonParser p, ResolvedType valueType)
  16. readValue(byte[] src, int offset, int len, TypeReference valueTypeRef)
  17. readValue(Reader src, TypeReference valueTypeRef)
  18. readValue(JsonParser p, TypeReference valueTypeRef)
  19. readValue(Reader src, JavaType valueType)
  20. readValue(Съдържание на низ, TypeReference valueTypeRef)
  21. readValue(Reader src, Class valueType)
  22. readValue(съдържание на низ, тип стойност на клас)
  23. readValue(съдържание на низ, JavaType valueType)
  24. readValue(URL src, TypeReference valueTypeRef)readValue(URL src, Class valueType)
  25. readValue(URL src, JavaType valueType)
T
ИЛИ
MappingIterator
ReadValue() и неговите варианти се използват за де-сериализиране на JSON съдържание
  1. От дадения файл в даден тип Java, в тип без контейнер или в препратка към тип Java, към която се предава като аргумент.
  2. От дадено JSON съдържание в String.
  3. От даден ресурс в даден тип Java.
Използват се вариации въз основа на различни изисквания.
readValues(JsonParser p, Class valueType)
Подобни методи:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator ReadValues() и неговите вариации се използват за четене на последователността от обекти от потока на анализатора.
registerModule (Модул модул)
Подобни методи:
  1. registerModules (итерируеми модули)
  2. registerModules(Модул... модули)
ObjectMapper RegisterModule() и неговите варианти се използват за регистриране на модул, който има способността да разширява функционалността, предоставена от картографа.
registerSubtypes(NamedType... типове) невалиден Използва се за регистриране на даден клас като подтип. Правейки това, разделителната способност, базирана на име на тип, може да свърже супертипове с подтипове.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper Използва се за настройка на AnnotationIntrospector, който се използва от екземпляра на картографа както за сериализиране, така и за десериализация.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper Използва се за промяна на екземпляра на AnnotationIntrospector, използван от текущия екземпляр на картографа за сериализация и десериализация.
setBase64Variant(Base64Variant v) ObjectMapper Използва се за конфигуриране на Base64Variant по подразбиране, който ще се използва от сериализаторите и десериализаторите byte[].
setConfig (DeserializationConfig config) ObjectMapper За да извършим замяната на основния обект DeserializationConfig, ние използваме този метод.
setConfig (SerializationConfig config) ObjectMapper За да извършим замяната на основния обект SerializationConfig, който има специфични за сериализацията конфигурационни настройки, ние използваме този метод.
setDateFormat(DateFormat dateFormat) ObjectMapper Използва се за конфигуриране на DateFormat по подразбиране, за да го използва по време на сериализиране на времеви стойности като низове или де-сериализиране от JSON низове.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper Използва се за указване на PrettyPrinter за използването му, когато е активирано 'default pretty-printing'.
setDefaultTyping(TypeResolverBuilder typer) ObjectMapper Използва се за разрешаване на автоматично включване на информация за типа.
setHandlerInstantiator(HandlerInstantiator здравей) Обект Използва се за конфигуриране на HandlerInstantiator за използване за създаване на екземпляри на манипулатори.
setFilterProvider(FilterProvider filterProvider) ObjectMapper Използва се за конфигуриране на текущия картограф да използва определен FilterProvider за картографиране на идентификатори на филтри към действителни екземпляри на филтри.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper Използва се за конфигуриране на InjectableValues, който се използва за намиране на стойности за инжектиране.
setLocale(Local l) ObjectMapper Използва се за замяна на локала по подразбиране, който да се използва за форматиране.
setMixInResolver(ClassIntrospector.MixInResolver разрешаване) ObjectMapper Ние използваме този метод, за да посочим дадения преобразувател, за да намерим смесени класове, които да използваме, заменяйки директно добавените съпоставяния.
setMixInAnnotations(Карта sourceMixins) невалиден Това е амортизиран метод за дефиниране на смесена анотация.
setNodeFactory(JsonNodeFactory f) ObjectMapper Използва се за указване на JsonNodeFactory за използване за конструиране на дървовидни възли на ниво корен.
setMixIns(Карта sourceMixins) ObjectMapper Използва се за дефиниране на анотациите за смесване, които да се използват за разширяване на анотациите, които обработваемите класове имат.
setPropertyInclusion(JsonInclude.Value вкл.) ObjectMapper Използва се за задаване на стратегията за включване на свойството POJO по подразбиране за сериализиране.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper Използва се за задаване на използваната стратегия за именуване на персонализирани свойства.
setSerializerFactory(SerializerFactory f) ObjectMapper Използва се за задаване на конкретната SerializerFactory, която да се използва за конструиране (bean) сериализатори.
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper Той се използва за задаване на екземпляра на SerializerProvider „план“ за използването му като основа за действителни екземпляри на доставчик, които да се използват за обработка на кеширане на екземпляри на JsonSerializer.
setSubtypeResolver(SubtypeResolver str) ObjectMapper Използва се за задаване на потребителския преобразувател на подтипове, който да се използва.
setTimeZone(TimeZone tz) ObjectMapper Използва се за замяна на часовата зона по подразбиране, която да се използва за форматиране.
setTypeFactory(TypeFactory f) ObjectMapper Използва се за замяна на екземпляра TypeFactory, който се използва от текущия картограф.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility видимост)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper SetVisibility() и неговият вариант се използват за задаване на текущо конфигурирания VisibilityChecker. Върнатият екземпляр на ObjectMapper се използва за проверка дали даденият елемент на свойство може да бъде автоматично открит или не.
treeAsTokens(TreeNode n) JsonParser Използва се за конструиране на JsonParser от JSON дървовидно представяне.
treeToValue(TreeNode n, Class valueType) T Използва се за обвързване на данните, които даденото JSON дърво съдържа в конкретен тип стойност.
версия() Версия Използва се за получаване на информацията за версията, съхранена в и за четене от буркана, който съдържа този клас.
писател()
  1. писател (Base64Variant defaultBase64)
  2. писател (избягвания на CharacterEscapes)
  3. писател (ContextAttributes attrs)
  4. писател (DateFormat df)
  5. писател (FilterProvider filterProvider)
  6. писател (схема на FormatSchema)
  7. писател (PrettyPrinter pp)
  8. писател (функция SerializationFeature)
  9. писател (първо SerializationFeature, SerializationFeature... друго)
ObjectWriter Write() и неговите вариации се използват за конструиране на ObjectWriter с настройки по подразбиране, даден вариант на кодиране на Base64 за кодирани с Base64 двоични данни, подробности за екраниране на знаци за изход, атрибути по подразбиране, DateFormat, доставчик на филтър, обект на схема към JsonGenerator, използван за писане на съдържание, красив принтер за отстъпи или активирана функция.
writerFor (Клас коренен тип) - ObjectWriter Използва се за конструиране на ObjectWriter за сериализиране на обектите с помощта на определен основен тип вместо действителния тип стойност на изпълнение.
writerFor (JavaType rootType) ObjectWriter Използва се за конструиране на ObjectWriter за сериализиране на обектите с помощта на определен основен тип вместо действителния тип стойност на изпълнение.
writerFor(TypeReference rootType) ObjectWriter Използва се за конструиране на ObjectWriter за сериализиране на обектите с помощта на определен основен тип вместо действителния тип стойност на изпълнение.
writerWithDefaultPrettyPrinter() ObjectWriter Това е фабричен метод, който се използва за конструиране на ObjectWriter за сериализиране на обектите, използвайки доста принтера по подразбиране за отстъп.
writerWithType (коренен тип на клас)
  1. writerWithType (коренен тип на клас)
  2. writerWithType(TypeReference rootType)
ObjectWriter Тези методи са амортизирани и вместо тях използваме метода writerFor(TypeReference).
writerWithView(Class serializationView) ObjectWriter Това е фабричен метод, който се използва за конструиране на ObjectWriter за сериализиране на обекти с помощта на определен JSON изглед.
writeTree(JsonGenerator jgen, JsonNode rootNode) невалиден Използва се за сериализиране на предоставеното JSON дърво с помощта на дадения JsonGenerator.
writeValue(File resultFile, Object value) невалиден Използва се за сериализиране на Java стойност като JSON изход и записването й в даденото файл.
writeValue(JsonGenerator g, стойност на обект). невалиден Използва се за сериализиране на Java стойности като JSON изход чрез използване на даденото JsonGenerator.
writeValue(OutputStream out, Object value) невалиден Използва се за сериализиране на Java стойност като JSON изход чрез използване на даденото OutputStream.
writeValue(Writer w, стойност на обект) невалиден Използва се за сериализиране на Java стойности като JSON изход чрез използване на даденото писател.
writeValueAsBytes(Стойност на обект) байт[] Използва се за сериализиране на стойности на Java като байтов масив.
writeValueAsString(Стойност на обект) низ Използва се за сериализиране на Java стойности като низ.

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+ ' ]'; } }  

Изход:

Клас ObjectMapper в Джаксън