ObjectMapper-Klasse in Jackson

ObjectMapper-Klasse in Jackson

ObjectMapper ist eine der wichtigsten verfügbaren Klassen der Jackson Bibliothek. Es wird zum Lesen und Schreiben von JSON-Daten verwendet. Es ist für das Lesen von Daten aus oder in eine POJO-Datei und in und aus einem JSON-Baummodell verantwortlich.

Es gibt die folgenden Merkmale der ObjectMapper-Klasse:

  1. Es unterstützt fortgeschrittene Konzepte wie Polymorphismus Und Objekterkennung.
  2. Es ist sehr anpassbar, um mit verschiedenen Stilen von JSON-Inhalten zu arbeiten.
  3. Es fungiert als Fabrik für den Fortschritt ObjectReader Und ObjectWriter Klassen.

Die ObjectMapper-Klasse wird wie folgt deklariert:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Verschachtelte Klassen

Die folgende Tabelle definiert die Klassen, die die ObjectMapper-Klasse erweitern, oder besser gesagt, verschachtelte Klassen der ObjectMapper-Klasse.

Klasse Beschreibung
DefaultTypeResolverBuilder Es handelt sich um eine Maßanfertigung TypeResolverBuilder Klasse, die verwendet wird, um die Typ-Resolver-Builder abzurufen, mit denen wir sie verwenden können 'Standardeingabe'.
Standardtypisierung Um die Art der Typen anzugeben, werden Aufzählungen mit der Methode enableDefaultTyping() verwendet.

Lassen Sie uns nun die Felder, Konstruktoren und Methoden der ObjectMapper-Klasse verstehen:

Felder der ObjectMapper-Klasse

protected DefaultDeserializationContext _deserializationContext

Es handelt sich um ein Blueprint-Kontextobjekt, das zum Zulassen benutzerdefinierter Unterklassen gespeichert wird.

protected DeserializationConfig _deserializationConfig

Es handelt sich um ein Konfigurationsobjekt, das zum Definieren der grundlegenden globalen Einstellungen für den Deserialisierungsprozess verwendet wird.

protected JsonFactory jsonFactory

Um eine Instanz von JsonParser und JsonGenerator zu erstellen, wird JsonFactory verwendet.

protected InjectableValues ​​_injectableValues

Es handelt sich um einen Anbieter, der zum Einfügen der Werte in deserialisierte POJOs verwendet wird.

protected ConfigOverrides _propertyOverrides

Es wird verwendet, um auf die derzeit aktiven Konfigurationsüberschreibungen pro Typ zuzugreifen.

protected SimpleMixInResolver _mixIns

Es handelt sich um eine Zuordnung, die verwendet wird, um eine Methode zum Anwenden von Mix-In-Anmerkungen zu definieren. Die Zuordnung erfolgt auf folgende Weise:

Schlüssel: Geben Sie ein, um zusätzliche Anmerkungen zu erhalten.

Wert: Typ, der Anmerkungen zum „Einmischen“ enthält

protected Legen Sie _registeredModuleTypes fest

Es handelt sich um einen Satz, der den Satz der registrierten Modultypen definiert.

protected SerializationConfig _serializationConfig

Es handelt sich außerdem um ein Konfigurationsobjekt, das zum Definieren der grundlegenden globalen Einstellungen für den Serialisierungsprozess verwendet wird.

geschützte ConcurrentHashMap _rootDeserializers

Es handelt sich um eine Karte, die verwendet wird, um Deserialisierer auf Stammebene zu verfolgen. Es handelt sich um eine Karte der Hauptebene.

protected SerializerFactory _serializerFactory

Es handelt sich um eine Fabrik, die zum Aufbau der Serialisierer verwendet wird.

protected SubtypeResolver _subtypeResolver

Es wird verwendet, um Untertypen zu registrieren und sie bei Bedarf nach Super-/Untertypen aufzulösen.

protected TypeFactory _typeFactory

Es handelt sich um eine Factory, die zum Erstellen von JavaType-Instanzen verwendet wird. Sie sind erforderlich, damit Module eine benutzerdefiniertere Typverarbeitung hinzufügen können.

protected DefaultSerializerProvider _serializerProvider

Es handelt sich um ein Objekt, das für die Verwaltung des Zugriffs auf Serialisierer verantwortlich ist, die für die Serialisierung verwendet werden.

geschützte statische BaseSettings DEFAULT_BASE

Es handelt sich um die Grundeinstellungen, die die für alle ObjectMapper-Instanzen verwendeten Standardwerte umfassen.

Konstruktoren der ObjectMapper-Klasse

Es gibt die folgenden Konstruktoren der ObjectMapper-Klasse:

Konstrukteur Beschreibung
ObjectMapper() Es handelt sich um einen Standardkonstruktor, der zum Erstellen einer Instanz verwendet wird, die den Standard verwendet JsonFactory, SerializerProvider, Und BeanSerializerFactory.
ObjectMapper (JsonFactory-Fabrik) Es wird verwendet, um eine Instanz zu erstellen, die die angegebene JsonFactory verwendet. Die angegebene JsonFactory wird zum Erstellen verwendet JsonParser und/oder JsonGenerators.
ObjectMapper(JsonFactory-Fabrik, SerializerProvider-Anbieter1, DeserializerProvider-Anbieter2) Es wird verwendet, um eine Instanz zu erstellen, die das Gegebene verwendet JsonFactory, SerializerProvider, Und DeserializerProvider. Die angegebene JsonFactory wird zum Erstellen verwendet JsonParser und/oder JsonGenerators.
protected ObjectMapper(ObjectMapper-Mapper) Es ist ein Kopierkonstruktor zur Unterstützung von copy().

Methoden der ObjectMapper-Klasse

Die ObjectMapper-Klasse definiert die folgenden Methoden:

Methode Rückgabetyp Beschreibung
_checkInvalidCopy(Klasse exp) Leere Es wird verwendet, um ungültige Kopien zu überprüfen.
_configAndWriteValue(JsonGenerator g, Objektwert) Leere Es wird bei Bedarf zur Konfiguration des Generators und zur anschließenden Ausführung der Schreibfunktion verwendet.
_convert(Objekt fromValue, JavaType toValueType) Objekt Es wird verwendet, um die eigentliche Konvertierungsimplementierung abzurufen. Dabei werden für den Code keine Lese- und Schreibmethoden verwendet.
_initForReading(JsonParser p) JsonToken Es wird verwendet, um sicherzustellen, ob der angegebene Parser zum Lesen von Inhalten für die Datenbindung bereit ist oder nicht.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer Wenn wir für den übergebenen Root-Level-Wert den Deserialisierer finden möchten, verwenden wir diese Methode.
_newReader(DeserializationConfig-Konfiguration)
Ähnliche Methode:
  1. _newReader(DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues ​​injectableValues)
ObjectReader Es handelt sich um eine Factory-Methode, die zum Abrufen der ObjectReader-Instanzen des richtigen Untertyps verwendet wird. Um diese Methode verwenden zu können, müssen die Unterklassen überschrieben werden.
_newWriter(SerializationConfig-Konfiguration)
Ähnliche Methoden:
  1. _newWriter(SerializationConfig-Konfiguration, FormatSchema-Schema)
  2. _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp)
ObjectWriter Es handelt sich um eine Factory-Methode, die zum Abrufen der ObjectWriter-Instanzen des richtigen Untertyps verwendet wird. Um diese Methode verwenden zu können, müssen die Unterklassen überschrieben werden.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) Objekt Es wird verwendet, um ein Objekt abzurufen, das den Wertlese- und Bindungsvorgang definiert.
_serializerProvider(SerializationConfig-Konfiguration) DefaultSerializerProvider Es handelt sich um eine überschreibbare Hilfsmethode, die zum Erstellen von SerializerProvider verwendet wird.
AcceptJsonFormatVisitor(Klassentyp, JsonFormatVisitorWrapper Besucher)
Ähnliche Methode:
  1. AcceptJsonFormatVisitor(JavaType-Typ, JsonFormatVisitorWrapper-Besucher)
Leere
Leere
Wenn wir mit dem angegebenen Besucher die Typhierarchie eines bestimmten Typs besuchen möchten, verwenden wir diese Methode.
addHandler(DeserializationProblemHandler h) ObjectMapper Um bestimmte Probleme während der Deserialisierung zu behandeln, verwenden wir einen angegebenen DeserializationProblemHandler, und um den Handler hinzuzufügen, verwenden wir diese Methode.
addMixIn(Klassenziel, Klasse mixinSource) ObjectMapper Um eine Mix-In-Annotation für eine bestimmte Erweiterungsklasse oder Schnittstelle zu verwenden, verwenden wir diese Methode, um sie hinzuzufügen.
canDeserialize(JavaType-Typ) Boolescher Wert Es wird verwendet, um zu prüfen, ob der Mapper ein Objekt eines bestimmten Typs deserialisieren kann oder nicht.
canDeserialize(JavaType-Typ, AtomicReference-Ursache) Boolescher Wert Es ähnelt der vorherigen Methode. Der einzige Unterschied besteht darin, dass das Throwable zurückgegeben werden kann, das zum Zeitpunkt der Erstellung des Serializers geworfen wurde. Mit dem Throwable lässt sich das eigentliche Problem herausfinden.
canSerialize(Klassentyp) Boolescher Wert Es wird verwendet, um zu prüfen, ob der Mapper ein Objekt eines bestimmten Typs serialisieren kann oder nicht.
canSerialize(Klassentyp, AtomicReference-Ursache) Boolescher Wert Es ähnelt der vorherigen Methode. Der einzige Unterschied besteht darin, dass das Throwable zurückgegeben werden kann, das zum Zeitpunkt der Erstellung des Serializers geworfen wurde. Mit dem Throwable lässt sich das eigentliche Problem herausfinden.
clearProblemHandlers() ObjectMapper Dies ist eine der Methoden, die verwendet wird, um alle registrierten DeserializationProblemHandlers-Instanzen aus dem Mapper zu entfernen.
configure(DeserializationFeature f, boolescher Zustand)
ähnliche Methoden:
  1. configure(JsonGenerator.Feature f, boolescher Zustand)
  2. configure(JsonParser.Feature f, boolescher Zustand)
  3. configure(MapperFeature f, boolescher Zustand)
  4. configure(SerializationFeature f, boolescher Zustand)
ObjectMapper Es wird verwendet, um den Status einer Ein-/Aus-Deserialisierung, eines Json-Generators, eines JsonParser, eines Mappers oder einer Serialisierungsfunktion für den Objekt-Mapper, Generator-Instanzen, Parser-Instanzen, Mapper-Instanzen oder Objekt-Mapper zu ändern.
constructionType(Typ t) JavaType Wenn wir JavaType aus einem bestimmten Typ ohne expliziten Kontext erstellen möchten, verwenden wir diese Methode.
ConvertValue(Objekt fromValue, Klasse toValueType)
Ähnliche Methoden:
  1. ConvertValue(Object fromValue, JavaType toValueType)
T Wenn wir eine zweistufige Konvertierung eines bestimmten Werts in eine Instanz eines bestimmten Werttyps durchführen möchten, verwenden wir die Methode converValue().
createArrayNode() ArrayNode Es wird zum Erstellen eines ArrayNode verwendet.
defaultClassIntrospector() ClassIntrospector Wenn wir den Standard-ClassIntrospector verwenden möchten, verwenden wir diese Overridable-Hilfsmethode zum Erstellen.
deaktivieren(DeserializationFeature-Funktion)
Ähnliche Methoden:
  1. deaktivieren(DeserializationFeature zuerst, DeserializationFeature... f)
  2. deaktivieren(JsonGenerator.Feature... Funktionen)
  3. deaktivieren(JsonParser.Feature... Funktionen)
  4. deaktivieren(MapperFeature... f)
  5. deaktivieren(SerializationFeature f)
  6. deaktivieren(SerializationFeature zuerst, SerializationFeature... f)
ObjectMapper Es wird verwendet, um gegebene DeserializationConfig, JsonGenerator.Features für Parser-Instanzen und JsonParser.Features für Parser-Instanzen des Objekt-Mappers zu deaktivieren.
disableDefaultTyping() ObjectMapper Oftmals müssen wir die automatische Einbeziehung von Typinformationen deaktivieren und verwenden zu diesem Zweck diese Methode.
enable(DeserializationFeature-Funktion)
  1. enable(DeserializationFeature zuerst, DeserializationFeature... f)
  2. enable(JsonGenerator.Feature... Features)
    enable(JsonParser.Feature... Features)
  3. enable(MapperFeature... f)
  4. enable(SerializationFeature f)
  5. enable(SerializationFeature zuerst, SerializationFeature... f)
ObjectMapper Es wird verwendet, um die angegebene DeserializationConfig, JsonGenerator.Features für Parser-Instanzen und JsonParser.Features für Parser-Instanzen des Objekt-Mappers zu aktivieren.
enableDefaultTyping()
Ähnliche Methoden:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(ObjectMapper.DefaultTyping-Anwendbarkeit, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability, String propertyName)
ObjectMapper Um die automatische Einbeziehung von Typinformationen zur Deserialisierung polymorpher Typen zu nutzen, verwenden wir diese Methode, um sie zu aktivieren.
findAndRegisterModules() ObjectMapper Es ähnelt der Methode mapper.registerModules(mapper.findModules()).
findModules()
Ähnliche Methoden:
  1. findModules(ClassLoader classLoader)
Aufführen Es wird verwendet, um verfügbare Methoden zu finden. Die Methode verwendet die JDK-ServiceLoader-Funktion mit vom Modul bereitgestelltem SPI.
getDateFormat() DateFormat Es wird verwendet, um das Format des Datums zu ermitteln.
getDeserializationConfig() DeserializationConfig Es wird verwendet, um das gemeinsam genutzte Standardobjekt DeserializationConfig abzurufen. Das zurückgegebene Objekt definiert die Konfigurationseinstellungen für die Deserialisierung.
getDeserializationContext() DeserializationContext Es wird verwendet, um den aktuellen DeserializationContext abzurufen.
getFactory() JsonFactory Wenn der Mapper einen JSON-Parser und -Generatoren erstellen muss, benötigt er eine JSON-Factory, und um diese zu erhalten, verwenden wir die Methode getFactory().
getInjectableValues() Injizierbare Werte Es wird verwendet, um injizierbare Werte zu erhalten.
getJsonFactory() JsonFactory Es handelt sich um eine veraltete Methode zum Abrufen der Json-Factory.
getNodeFactory() JsonNodeFactory Es wird verwendet, um die JsonNodeFactory abzurufen, die vom Mapper zum Zeitpunkt der direkten Erstellung von Root-JsonNode-Instanzen für Bäume verwendet wird.
getPropertyNamingStrategy() PropertyNamingStrategy Wie der Name schon sagt, ist es an die Benennungsstrategie der Immobilie gewöhnt.
getSerializationConfig() SerializationConfig Es wird verwendet, um das gemeinsam genutzte Standardobjekt SerializationConfig abzurufen. Das zurückgegebene Objekt definiert die Konfigurationseinstellungen für die Serialisierung.
getSerializerFactory() SerializerFactory Es wird verwendet, um die aktuelle SerializerFactory abzurufen.
getSerializerProvider() SerializerProvider Es handelt sich um einen Accessor für die Factory, der zum Erstellen von Instanzen durch Aufrufen von DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory) verwendet wird.
getSerializerProviderInstance() SerializerProvider Es handelt sich um einen Accessor, der zum Erstellen und Zurückgeben einer Instanz des SerializerProviders verwendet wird, mit der wir auf Serialisierer zugreifen können.
getSubtypeResolver() SubtypeResolver Es wird verwendet, um auf den verwendeten Subtyp-Resolver zuzugreifen.
getTypeFactory() TypeFactory Es handelt sich um einen Accessor, der verwendet wird, um eine Instanz der aktuell konfigurierten TypeFactory abzurufen.
getVisibilityChecker() SichtbarkeitsChecker Es wird verwendet, um auf den aktuell konfigurierten Sichtbarkeitsprüfer zuzugreifen.
isEnabled(DeserializationFeature f)
Ähnliche Methoden:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. isEnabled(SerializationFeature f)
Boolescher Wert Die Methode isEnable() und ihre Variationen werden verwendet, um zu überprüfen, ob eine bestimmte Deserialisierungs-spezifische JsonFactory-, JsonGenerator-, JsonParser-, Mapper- oder Serialisierungsfunktion aktiviert ist oder nicht.
mixInCount() int Es wird verwendet, um die Anzahl von mixIn zu ermitteln.
Leser()
Ähnliche Methoden:
  1. Leser(Base64Variant defaultBase64)
  2. Leser (Klassentyp)
  3. Reader(ContextAttributes attrs)
  4. Reader (DeserializationFeature-Funktion)
  5. Leser (DeserializationFeature zuerst, DeserializationFeature... andere)
  6. Reader(FormatSchema-Schema)
  7. Leser(InjectableValues ​​injectableValues)
  8. Reader (JavaType-Typ)
  9. Leser(JsonNodeFactory f)
  10. Reader (TypeReference-Typ)
ObjectReader Die Methode „reader()“ und ihre Variationen sind die Factory-Methoden, die zum Erstellen einer Instanz von ObjectReader verwendet werden. Basierend auf der Anforderung können wir die Base64-Codierungsvariante für Base64-codierte Binärdaten, Standardattribute, aktivierte Funktionen, injizierbare Werte und JsonNodeFactory zum Erstellen von JSON-Bäumen übergeben.
readerFor(Klassentyp) ObjectReader Es handelt sich um eine Factory-Methode, die zum Erstellen von ObjectReader verwendet wird und Lese- oder Aktualisierungsvorgänge für Instanzen des angegebenen Typs ermöglicht.
readerFor(JavaType-Typ) ObjectReader Es handelt sich um eine Factory-Methode, die zum Erstellen von ObjectReader verwendet wird und Lese- oder Aktualisierungsvorgänge für Instanzen des angegebenen JavaType ermöglicht.
readerFor(TypeReference-Typ) ObjectReader Es handelt sich um eine Factory-Methode, die zum Erstellen von ObjectReader verwendet wird und Lese- oder Aktualisierungsvorgänge für Instanzen einer bestimmten TypeReference ermöglicht.
readerForUpdating(Object valueToUpdate) ObjectReader Es handelt sich um eine Factory-Methode, die zum Erstellen eines ObjectReader verwendet wird, der Aktualisierungsvorgänge für das angegebene Objekt ermöglicht.
readerWithView(Klassenansicht) ObjectReader Es handelt sich um eine Factory-Methode, die zum Erstellen von ObjectReader verwendet wird und dies ermöglicht
Deserialisierung von Objekten mit gegebener JSON-Ansicht.
readTree(byte[] Inhalt)
  1. readTree(Dateidatei)
  2. readTree(InputStream in)
  3. readTree(JsonParser p)
  4. readTree(Reader r)
  5. readTree(String-Inhalt)
  6. readTree(URL-Quelle)
JsonNode
ODER
T
readTree() und seine Variationen werden verwendet, um den JSON-Inhalt als Baum zu deserialisieren, der mithilfe einer Reihe von JsonNode-Instanzen ausgedrückt wird.
readValue(byte[] src, Class valueType)
Ähnliche Methoden
  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(String-Inhalt, TypeReference valueTypeRef)
  21. readValue(Reader src, Class valueType)
  22. readValue(String-Inhalt, Klassenwerttyp)
  23. readValue(String-Inhalt, JavaType valueType)
  24. readValue(URL src, TypeReference valueTypeRef)readValue(URL src, Class valueType)
  25. readValue(URL src, JavaType valueType)
T
ODER
MappingIterator
readValue() und seine Variationen werden zum Deserialisieren von JSON-Inhalten verwendet
  1. Von der angegebenen Datei in einen bestimmten Java-Typ, in einen Nicht-Container-Typ oder in eine Java-Typreferenz, an die sie als Argument übergeben wird.
  2. Von gegebenem JSON-Inhalt in String.
  3. Von einer bestimmten Ressource in einen bestimmten Java-Typ.
Je nach Anforderungen kommen Variationen zum Einsatz.
readValues(JsonParser p, Class valueType)
Ähnliche Methoden:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator readValues() und seine Variationen werden verwendet, um die Sequenz von Objekten aus dem Parser-Stream zu lesen.
registerModule(Modulmodul)
Ähnliche Methoden:
  1. registerModules(Iterierbare Module)
  2. registerModules(Modul...Module)
ObjectMapper Das registerModule() und seine Variationen werden verwendet, um ein Modul zu registrieren, das die vom Mapper bereitgestellte Funktionalität erweitern kann.
registerSubtypes(NamedType... Typen) Leere Es wird verwendet, um die angegebene Klasse als Untertyp zu registrieren. Auf diese Weise kann die auf Typnamen basierende Auflösung Supertypen mit Untertypen verknüpfen.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper Es wird zum Festlegen von AnnotationIntrospector verwendet, das von der Mapper-Instanz sowohl für die Serialisierung als auch für die Deserialisierung verwendet wird.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper Es wird verwendet, um die Instanz von AnnotationIntrospector zu ändern, die von der aktuellen Mapper-Instanz für die Serialisierung und Deserialisierung verwendet wird.
setBase64Variant(Base64Variant v) ObjectMapper Es wird verwendet, um die standardmäßige Base64Variant zu konfigurieren, die von den byte[]-Serialisierern und -Deserialisierern verwendet wird.
setConfig(DeserializationConfig config) ObjectMapper Um das Überschreiben des zugrunde liegenden DeserializationConfig-Objekts durchzuführen, verwenden wir diese Methode.
setConfig(SerializationConfig-Konfiguration) ObjectMapper Um das zugrunde liegende SerializationConfig-Objekt mit serialisierungsspezifischen Konfigurationseinstellungen zu überschreiben, verwenden wir diese Methode.
setDateFormat(DateFormat dateFormat) ObjectMapper Es wird verwendet, um das Standard-DateFormat so zu konfigurieren, dass es zum Zeitpunkt der Serialisierung von Zeitwerten als Strings oder der Deserialisierung von JSON-Strings verwendet wird.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper Es wird verwendet, um den PrettyPrinter anzugeben, der verwendet werden soll, wenn „Standard-Pretty-Printing“ aktiviert ist.
setDefaultTyping(TypeResolverBuilder Typer) ObjectMapper Es wird verwendet, um die automatische Einbeziehung von Typinformationen zu ermöglichen.
setHandlerInstantiator(HandlerInstantiator hallo) Objekt Es wird verwendet, um HandlerInstantiator für die Erstellung von Handler-Instanzen zu konfigurieren.
setFilterProvider(FilterProvider filterProvider) ObjectMapper Es wird verwendet, um den aktuellen Mapper so zu konfigurieren, dass er den angegebenen FilterProvider zum Zuordnen von Filter-IDs zu tatsächlichen Filterinstanzen verwendet.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper Es wird zum Konfigurieren von InjectableValues ​​verwendet, mit dem die zu injizierenden Werte gefunden werden.
setLocale(Local l) ObjectMapper Es wird verwendet, um das Standardgebietsschema für die Formatierung zu überschreiben.
setMixInResolver(ClassIntrospector.MixInResolver auflösen) ObjectMapper Wir verwenden diese Methode, um den angegebenen Resolver anzugeben, um zu verwendende Mix-In-Klassen zu finden und direkt hinzugefügte Zuordnungen zu überschreiben.
setMixInAnnotations(Map sourceMixins) Leere Es handelt sich um eine veraltete Methode zum Definieren von Mix-In-Annotationen.
setNodeFactory(JsonNodeFactory f) ObjectMapper Es wird verwendet, um JsonNodeFactory anzugeben, das zum Erstellen von Baumknoten auf Stammebene verwendet werden soll.
setMixIns(Map sourceMixins) ObjectMapper Es wird verwendet, um die Mix-In-Annotationen zu definieren, die zur Erweiterung der Annotationen verarbeitbarer Klassen verwendet werden sollen.
setPropertyInclusion(JsonInclude.Value inkl) ObjectMapper Es wird verwendet, um die Standardstrategie zum Einschließen von POJO-Eigenschaften für die Serialisierung festzulegen.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper Es wird verwendet, um die zu verwendende benutzerdefinierte Eigenschaftsbenennungsstrategie festzulegen.
setSerializerFactory(SerializerFactory f) ObjectMapper Es wird verwendet, um die spezifische SerializerFactory festzulegen, die zum Erstellen von (Bean-)Serialisierern verwendet werden soll.
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper Es wird verwendet, um die „Blueprint“-SerializerProvider-Instanz festzulegen, um sie als Basis für tatsächliche Anbieterinstanzen zu verwenden, die für die Zwischenspeicherung von JsonSerializer-Instanzen verwendet werden.
setSubtypeResolver(SubtypeResolver str) ObjectMapper Es wird verwendet, um den zu verwendenden benutzerdefinierten Subtyp-Resolver festzulegen.
setTimeZone(TimeZone tz) ObjectMapper Es wird verwendet, um die Standardzeitzone für die Formatierung zu überschreiben.
setTypeFactory(TypeFactory f) ObjectMapper Es wird zum Überschreiben der TypeFactory-Instanz verwendet, die vom aktuellen Mapper verwendet wird.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility Sichtbarkeit)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper setVisibility() und seine Variation werden verwendet, um den aktuell konfigurierten VisibilityChecker festzulegen. Die zurückgegebene ObjectMapper-Instanz wird verwendet, um zu prüfen, ob das angegebene Eigenschaftselement automatisch erkannt werden kann oder nicht.
treeAsTokens(TreeNode n) JsonParser Es wird verwendet, um einen JsonParser aus der JSON-Baumdarstellung zu erstellen.
treeToValue(TreeNode n, Class valueType) T Es wird verwendet, um die im JSON-Baum enthaltenen Daten an einen bestimmten Werttyp zu binden.
Ausführung() Ausführung Es wird verwendet, um die in der JAR-Datei, die diese Klasse enthält, gespeicherten Versionsinformationen abzurufen und aus dieser zu lesen.
Schriftsteller()
  1. Writer(Base64Variant defaultBase64)
  2. Writer(CharacterEscapes Escapes)
  3. Writer(ContextAttributes attrs)
  4. Writer(DateFormat df)
  5. Writer(FilterProvider filterProvider)
  6. Writer (FormatSchema-Schema)
  7. Autor (PrettyPrinter pp)
  8. Writer (SerializationFeature-Funktion)
  9. Writer (SerializationFeature zuerst, SerializationFeature... andere)
ObjectWriter write() und seine Variationen werden verwendet, um ObjectWriter mit Standardeinstellungen, gegebener Base64-Codierungsvariante für Base64-codierte Binärdaten, Zeichen-Escape-Details für die Ausgabe, Standardattributen, DateFormat, Filteranbieter, Schemaobjekt für JsonGenerator zum Schreiben von Inhalten zu erstellen. hübscher Drucker zum Einrücken oder aktivierte Funktion.
writeFor(Klasse rootType) - ObjectWriter Es wird verwendet, um ObjectWriter zum Serialisieren der Objekte mithilfe eines angegebenen Stammtyps anstelle des tatsächlichen Laufzeittyps des Werts zu erstellen.
writeFor(JavaType rootType) ObjectWriter Es wird verwendet, um ObjectWriter zum Serialisieren der Objekte mithilfe eines angegebenen Stammtyps anstelle des tatsächlichen Laufzeittyps des Werts zu erstellen.
writeFor(TypeReference rootType) ObjectWriter Es wird verwendet, um ObjectWriter zum Serialisieren der Objekte mithilfe eines angegebenen Stammtyps anstelle des tatsächlichen Laufzeittyps des Werts zu erstellen.
writeWithDefaultPrettyPrinter() ObjectWriter Es handelt sich um eine Factory-Methode, die zum Erstellen von ObjectWriter zum Serialisieren der Objekte unter Verwendung des hübschen Standarddruckers zum Einrücken verwendet wird.
writeWithType(Klasse rootType)
  1. writeWithType(Klasse rootType)
  2. writeWithType(TypeReference rootType)
ObjectWriter Diese Methoden sind veraltet und stattdessen verwenden wir die Methode writeFor(TypeReference).
writeWithView(Klasse serializationView) ObjectWriter Es handelt sich um eine Factory-Methode, die zum Erstellen von ObjectWriter zum Serialisieren von Objekten mithilfe der angegebenen JSON-Ansicht verwendet wird.
writeTree(JsonGenerator jgen, JsonNode rootNode) Leere Es wird zum Serialisieren des bereitgestellten JSON-Baums mithilfe des angegebenen JsonGenerator verwendet.
writeValue(Datei resultFile, Objektwert) Leere Es wird verwendet, um Java-Werte als JSON-Ausgabe zu serialisieren und in die angegebene Datei zu schreiben Datei.
writeValue(JsonGenerator g, Objektwert). Leere Es wird verwendet, um Java-Werte als JSON-Ausgabe unter Verwendung der angegebenen zu serialisieren JsonGenerator.
writeValue(OutputStream out, Objektwert) Leere Es wird verwendet, um Java-Werte mithilfe der angegebenen JSON-Ausgabe zu serialisieren Ausgabestrom.
writeValue(Writer w, Objektwert) Leere Es wird verwendet, um Java-Werte als JSON-Ausgabe unter Verwendung der angegebenen zu serialisieren Schriftsteller.
writeValueAsBytes(Objektwert) Byte[] Es wird zum Serialisieren von Java-Werten als Byte-Array verwendet.
writeValueAsString(Objektwert) Zeichenfolge Es wird zum Serialisieren von Java-Werten als String verwendet.

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

Ausgabe:

ObjectMapper-Klasse in Jackson