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:
- Es unterstützt fortgeschrittene Konzepte wie Polymorphismus Und Objekterkennung.
- Es ist sehr anpassbar, um mit verschiedenen Stilen von JSON-Inhalten zu arbeiten.
- 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
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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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)
| 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:
| 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:
| 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:
| 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:
| 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)
| 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
| T ODER MappingIterator | readValue() und seine Variationen werden zum Deserialisieren von JSON-Inhalten verwendet
|
| readValues(JsonParser p, Class valueType) Ähnliche Methoden:
| MappingIterator | readValues() und seine Variationen werden verwendet, um die Sequenz von Objekten aus dem Parser-Stream zu lesen. |
| registerModule(Modulmodul) Ähnliche Methoden:
| 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 | 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 | 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)
| 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()
| 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)
| 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: