Клас 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 клас, який використовується для отримання конструкторів розв’язувачів типів, з якими ми можемо використовувати 'введення за замовчуванням'.
DefaultTyping Для визначення типу типів використовуються перерахування з методом enableDefaultTyping().

Тепер давайте розберемося з полями, конструкторами та методами класу ObjectMapper:

Поля класу ObjectMapper

protected DefaultDeserializationContext _deserializationContext

Це контекстний об’єкт плану, який зберігається для дозволу настроюваних підкласів.

protected DeserializationConfig _deserializationConfig

Це об’єкт конфігурації, який використовується для визначення основних глобальних параметрів процесу десеріалізації.

захищений JsonFactory jsonFactory

Щоб створити екземпляр JsonParser і JsonGenerator, використовується JsonFactory.

protected InjectableValues ​​_injectableValues

Це постачальник, який використовується для введення значень у десеріалізовані POJO.

захищений ConfigOverrides _propertyOverrides

Він використовується для доступу до поточних активних змін конфігурації для кожного типу.

захищений SimpleMixInResolver _mixIns

Це відображення, яке використовується для визначення способу застосування змішаних анотацій. Картографування здійснюється таким чином:

ключ: Введіть, щоб отримати додаткові анотації.

Значення: Тип, який має анотації для 'змішування'

protected Встановити _registeredModuleTypes

Це набір, який визначає набір типів модулів, які були зареєстровані.

protected SerializationConfig _serializationConfig

Це також об’єкт конфігурації, який використовується для визначення основних глобальних налаштувань процесу серіалізації.

захищений ConcurrentHashMap _rootDeserializers

Це карта, яка використовується для відстеження десеріалізаторів кореневого рівня. Це карта основного рівня.

захищений SerializerFactory _serializerFactory

Це фабрика, яка використовується для створення серіалізаторів.

захищений SubtypeResolver _subtypeResolver

Він використовується для реєстрації підтипів і вирішення їх для супер/підтипів за потреби.

захищений TypeFactory _typeFactory

Це фабрика, яка використовується для створення екземплярів JavaType. Вони необхідні для того, щоб модулі могли додавати додаткові засоби обробки типів.

protected DefaultSerializerProvider _serializerProvider

Це об’єкт, який відповідає за керування доступом до серіалізаторів, які використовуються для серіалізації.

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

Це базові налаштування, які включають значення за замовчуванням, які використовуються для всіх екземплярів ObjectMapper.

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

Існують такі конструктори класу ObjectMapper:

Конструктор опис
ObjectMapper() Це конструктор за замовчуванням, який використовується для створення екземпляра, який використовує за замовчуванням JsonFactory, SerializerProvider, і BeanSerializerFactory.
ObjectMapper (фабрика JsonFactory) Він використовується для створення екземпляра, який використовує даний JsonFactory. Даний JsonFactory використовується для створення JsonParsers та/або JsonGenerators.
ObjectMapper (фабрика JsonFactory, SerializerProvider provider1, DeserializerProvider provider2) Він використовується для створення екземпляра, який використовує дане 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, JavaType valueType, Object valueToUpdate, схема FormatSchema, InjectableValues ​​injectableValues)
ObjectReader Це заводський метод, тобто використовується для отримання екземплярів ObjectReader належного підтипу. Щоб використовувати цей метод, необхідно, щоб підкласи мали заміну.
_newWriter(конфігурація SerializationConfig)
Подібні методи:
  1. _newWriter(конфігурація SerializationConfig, схема FormatSchema)
  2. _newWriter(конфігурація SerializationConfig, 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(Class target, Class 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, JsonParser, Mapper або функції серіалізації для засобу відображення об’єктів, екземплярів генератора, екземплярів синтаксичного аналізатора, екземпляра відтворювача або засобу відображення об’єктів.
constructType(Тип t) JavaType Якщо ми хочемо сконструювати JavaType із заданого типу без явного контексту, ми використовуємо цей метод.
convertValue(Object fromValue, Class toValueType)
Подібні методи:
  1. convertValue(Object fromValue, JavaType toValueType)
Т Якщо ми хочемо виконати двоетапне перетворення заданого значення в екземпляр заданого типу значення, ми використовуємо метод converValue().
createArrayNode() ArrayNode Він використовується для створення ArrayNode.
defaultClassIntrospector() ClassIntrospector Якщо ми хочемо використовувати стандартний ClassIntrospector, ми використовуємо цей допоміжний метод Overridable для його створення.
вимкнути (функція DeserializationFeature)
Подібні методи:
  1. вимкнути (спочатку DeserializationFeature, DeserializationFeature... f)
  2. відключити (JsonGenerator.Feature... функції)
  3. вимкнути (функції JsonParser.Feature...)
  4. вимкнути (MapperFeature... f)
  5. disable(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. enable(MapperFeature... f)
  4. enable(SerializationFeature f)
  5. enable(SerializationFeature спочатку, SerializationFeature... f)
ObjectMapper Він використовується для ввімкнення заданого DeserializationConfig, JsonGenerator.Features для екземплярів парсера, JsonParser.Features для екземплярів парсера відображувача об’єктів.
enableDefaultTyping()
Подібні методи:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(ObjectMapper.DefaultTyping applicability, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability, 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, і щоб отримати це, ми використовуємо метод 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. reader(ContextAttributes attrs)
  4. читач (функція DeserializationFeature)
  5. reader (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(byte[] content)
  1. readTree (Файл файл)
  2. readTree(InputStream in)
  3. readTree(JsonParser p)
  4. readTree(Reader r)
  5. readTree (вміст рядка)
  6. readTree (джерело URL-адреси)
JsonNode
АБО
Т
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(byte[] 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(вміст рядка, значення TypeReferenceTypeRef)
  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)
Т
АБО
Ітератор відображення
ReadValue() і його варіації використовуються для десеріалізації вмісту JSON
  1. З заданого файлу в заданий тип Java, у неконтейнерний тип або в посилання на тип Java, якому він передається як аргумент.
  2. З заданого вмісту JSON у рядок.
  3. Від заданого ресурсу до заданого типу Java.
Варіації використовуються на основі різних вимог.
readValues(JsonParser p, Class valueType)
Подібні методи:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
Ітератор відображення 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 Він використовується для налаштування формату дати за замовчуванням для використання його під час серіалізації значень часу як рядків або десеріалізації з рядків JSON.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper Він використовується для вказівки PrettyPrinter для його використання, коли ввімкнено «дефолтний друк».
setDefaultTyping(типизатор TypeResolverBuilder) ObjectMapper Він використовується для автоматичного включення інформації про тип.
setHandlerInstantiator(HandlerInstantiator привіт) Об'єкт Він використовується для налаштування HandlerInstantiator для створення екземплярів обробників.
setFilterProvider(FilterProvider filterProvider) ObjectMapper Він використовується для налаштування поточного відтворювача на використання вказаного FilterProvider для зіставлення ідентифікаторів фільтрів із фактичними екземплярами фільтрів.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper Він використовується для налаштування InjectableValues, який використовується для пошуку значень для введення.
setLocale(Local l) ObjectMapper Він використовується для заміни стандартної мови для форматування.
setMixInResolver(ClassIntrospector.MixInResolver resolve) ObjectMapper Ми використовуємо цей метод, щоб вказати даний резолвер, щоб знайти змішані класи для використання, замінюючи безпосередньо додані відображення.
setMixInAnnotations(Карта sourceMixins) недійсний Це застарілий метод для визначення змішаної анотації.
setNodeFactory(JsonNodeFactory f) ObjectMapper Він використовується для визначення JsonNodeFactory для створення вузлів дерева кореневого рівня.
setMixIns(Карта sourceMixins) ObjectMapper Він використовується для визначення змішаних анотацій для використання для розширення анотацій, які мають оброблювані класи.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper Він використовується для встановлення стандартної стратегії включення властивості POJO для серіалізації.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper Він використовується для встановлення користувацької стратегії іменування властивостей.
setSerializerFactory(SerializerFactory f) ObjectMapper Він використовується для встановлення певного SerializerFactory для створення серіалізаторів (компонентів).
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) Т Він використовується для зв’язування даних, які містить дерево JSON, із певним типом значення.
версія() Версія Він використовується для отримання інформації про версію, що зберігається в jar, що містить цей клас, і для читання з нього.
письменник()
  1. writer (Base64Variant defaultBase64)
  2. письменник (втеча символів)
  3. writer(ContextAttributes attrs)
  4. writer (DateFormat df)
  5. writer(FilterProvider filterProvider)
  6. writer (схема FormatSchema)
  7. письменник (PrettyPrinter pp)
  8. writer (функція SerializationFeature)
  9. writer (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 у Джексоні