ObjectMapper-klasse in Jackson

ObjectMapper-klasse in Jackson

ObjectMapper is een van de belangrijkste klassen die beschikbaar zijn de Jackson bibliotheek. Het wordt gebruikt om JSON-gegevens te lezen en te schrijven. Het is verantwoordelijk voor het lezen van gegevens van of naar een POJO-bestand en van en naar een JSON Tree Model.

De klasse ObjectMapper heeft de volgende kenmerken:

  1. Het ondersteunt geavanceerde concepten zoals Polymorfisme En Object herkenning.
  2. Het is zeer aanpasbaar om met verschillende stijlen JSON-inhoud te werken.
  3. Het werkt als een fabriek voor de opmars Objectlezer En ObjectWriter klassen.

De klasse ObjectMapper wordt op de volgende manier gedeclareerd:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Geneste klassen

De volgende tabel definieert de klassen die de klasse ObjectMapper uitbreiden, of bijvoorbeeld geneste klassen van de klasse ObjectMapper.

Klas Beschrijving
DefaultTypeResolverBuilder Het is een maatwerk TypeResolverBuilder klasse die wordt gebruikt om het type solverbuilders te krijgen, waarmee we kunnen gebruiken 'standaardtype'.
Standaardtypering Om het soort typen te specificeren, worden opsommingen gebruikt met de methode enableDefaultTyping().

Laten we nu de velden, constructors en methoden van de ObjectMapper-klasse begrijpen:

Velden van de ObjectMapper-klasse

protected DefaultDeserializationContext _deserializationContext

Het is een blauwdrukcontextobject dat wordt opgeslagen om aangepaste subklassen toe te staan.

protected DeserializationConfig _deserializationConfig

Het is een configuratieobject dat wordt gebruikt voor het definiëren van de algemene basisinstellingen voor het deserialisatieproces.

beschermde JsonFactory jsonFactory

Om een ​​exemplaar van JsonParser en JsonGenerator te maken, wordt JsonFactory gebruikt.

beschermde InjectableValues ​​_injectableValues

Het is een provider die wordt gebruikt voor het injecteren van de waarden in gedeserialiseerde POJO's.

beschermde ConfigOverrides _propertyOverrides

Het wordt gebruikt om toegang te krijgen tot de momenteel actieve configuratie-overschrijvingen per type.

beschermde SimpleMixInResolver _mixIns

Het is een mapping die wordt gebruikt om een ​​manier te definiëren voor het toepassen van mix-in-annotaties. Het in kaart brengen gebeurt op de volgende manier:

Sleutel: Typ om extra annotaties te ontvangen.

Waarde: Type met annotaties om 'in te mengen'

beschermd Stel _registeredModuleTypes in

Het is een set die de set moduletypen definieert die zijn geregistreerd.

beschermd SerializationConfig _serializationConfig

Het is ook een configuratieobject dat wordt gebruikt om de algemene basisinstellingen voor het serialisatieproces te definiëren.

beschermde ConcurrentHashMap _rootDeserializers

Het is een kaart die wordt gebruikt om deserializers op rootniveau bij te houden. Het is een kaart op hoofdniveau.

beschermde SerializerFactory _serializerFactory

Het is een fabriek die wordt gebruikt om de serializers te bouwen.

beschermde SubtypeResolver _subtypeResolver

Het wordt gebruikt om subtypen te registreren en deze indien nodig op te lossen voor super-/subtypen.

beschermde TypeFactory _typeFactory

Het is een fabriek die wordt gebruikt om JavaType-instanties te maken. Ze zijn nodig om ervoor te zorgen dat modules meer aangepaste typeverwerking kunnen toevoegen.

protected DefaultSerializerProvider _serializerProvider

Het is een object dat verantwoordelijk is voor het beheer van de toegang tot serializers die worden gebruikt voor serialisatie.

beschermde statische BaseSettings DEFAULT_BASE

Het zijn basisinstellingen die standaardwaarden bevatten die voor alle ObjectMapper-instanties worden gebruikt.

Constructors van de ObjectMapper-klasse

Er zijn de volgende constructors van de klasse ObjectMapper:

Constructeur Beschrijving
ObjectMapper() Het is een standaardconstructor die wordt gebruikt om een ​​instantie te construeren die standaard gebruikt JsonFactory, SerializerProvider, En BeanSerializerFactory.
ObjectMapper (JsonFactory-fabriek) Het wordt gebruikt om een ​​instantie te construeren die de gegeven JsonFactory gebruikt. De gegeven JsonFactory wordt gebruikt om te construeren JsonParsers en/of JsonGenerators.
ObjectMapper (JsonFactory-fabriek, SerializerProvider-provider1, DeserializerProvider-provider2) Het wordt gebruikt om een ​​instantie te construeren die het gegeven gebruikt JsonFactory, SerializerProvider, En DeserializerProvider. De gegeven JsonFactory wordt gebruikt om te construeren JsonParsers en/of JsonGenerators.
beschermde ObjectMapper (ObjectMapper-toewijzer) Het is een copy-constructor die copy() ondersteunt.

ObjectMapper-klassemethoden

De klasse ObjectMapper definieert de volgende methoden:

Methode Retourtype Beschrijving
_checkInvalidCopy(Klasse exp) leegte Het wordt gebruikt om ongeldige kopieën te controleren.
_configAndWriteValue(JsonGenerator g, objectwaarde) leegte Het wordt gebruikt om de generator indien nodig te configureren en vervolgens de schrijffunctionaliteit uit te voeren.
_convert(Object vanWaarde, JavaType naarWaardeType) Voorwerp Het wordt gebruikt om de daadwerkelijke conversie-implementatie te verkrijgen. Hier worden geen lees- en schrijfmethoden gebruikt voor de code.
_initForReading(JsonParser p) JsonToken Het wordt gebruikt om te garanderen of de gegeven parser gereed is voor het lezen van inhoud voor gegevensbinding of niet.
_findRootDeserializer (DeserializationContext ctxt, JavaType waardeType) JsonDeserializer Als we de de-serializer willen lokaliseren, gebruiken we deze methode voor de doorgegeven waarde op rootniveau.
_newReader (DeserializationConfig-configuratie)
Vergelijkbare methode:
  1. _newReader (DeserializationConfig-configuratie, JavaType valueType, Object valueToUpdate, FormatSchema-schema, InjectableValues ​​injectableValues)
Objectlezer Het is een fabrieksmethode, d.w.z. gebruikt om de ObjectReader-instanties van het juiste subtype te verkrijgen. Om deze methode te kunnen gebruiken, is het noodzakelijk dat de subklassen moeten worden overschreven.
_newWriter (SerializationConfig-configuratie)
Vergelijkbare methoden:
  1. _newWriter (SerializationConfig-configuratie, FormatSchema-schema)
  2. _newWriter(SerializationConfig-configuratie, JavaType rootType, PrettyPrinter pp)
ObjectWriter Het is een fabrieksmethode, d.w.z. gebruikt om de ObjectWriter-instanties van het juiste subtype te verkrijgen. Om deze methode te kunnen gebruiken, is het noodzakelijk dat de subklassen moeten worden overschreven.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType waardeType) Voorwerp Het wordt gebruikt om een ​​object te verkrijgen dat het lezen van waarden en de bindingsbewerking definieert.
_serializerProvider (SerializationConfig-configuratie) StandaardSerializerProvider Het is een overschrijfbare helpermethode die wordt gebruikt om SerializerProvider te construeren.
acceptJsonFormatVisitor(Klassetype, JsonFormatVisitorWrapper-bezoeker)
Vergelijkbare methode:
  1. acceptJsonFormatVisitor (JavaType-type, JsonFormatVisitorWrapper-bezoeker)
leegte
leegte
Als we met de opgegeven bezoeker de typehiërarchie van een bepaald type willen bezoeken, gebruiken we deze methode.
addHandler(DeserialisatieProblemHandler h) ObjectMapper Om specifieke problemen tijdens deserialisatie af te handelen, gebruiken we een gespecificeerde DeserializationProblemHandler, en om de handler toe te voegen gebruiken we deze methode.
addMixIn(Klassedoel, Klasse mixinSource) ObjectMapper Om mix-in-annotatie te gebruiken voor een specifieke augmenting-klasse of interface, gebruiken we deze methode om deze toe te voegen.
canDeserialize(JavaType-type) Booleaans Het wordt gebruikt om te controleren of de mapper een object van een opgegeven type kan deserialiseren of niet.
canDeserialize(JavaType-type, AtomicReference-oorzaak) Booleaans Het is vergelijkbaar met de vorige methode. Het enige verschil is dat het de worp kan retourneren die werd gegooid op het moment dat de serializer werd gebouwd. De werpbare kan worden gebruikt om het werkelijke probleem te achterhalen.
canSerialize(Klassetype) Booleaans Het wordt gebruikt om te controleren of de mapper een object van een opgegeven type kan serialiseren of niet.
canSerialize(Klassetype, AtomicReference-oorzaak) Booleaans Het is vergelijkbaar met de vorige methode. Het enige verschil is dat het de worp kan retourneren die werd gegooid op het moment dat de serializer werd gebouwd. De werpbare kan worden gebruikt om het werkelijke probleem te achterhalen.
clearProblemHandlers() ObjectMapper Het is een van de methoden die wordt gebruikt om alle geregistreerde DeserializationProblemHandlers-instanties uit de mapper te verwijderen.
configureren (deserialisatiefunctie f, booleaanse status)
soortgelijke methoden:
  1. configure(JsonGenerator.Feature f, booleaanse status)
  2. configure(JsonParser.Feature f, booleaanse status)
  3. configure(MapperFeature f, booleaanse status)
  4. configure(SerialisatieFeature f, booleaanse status)
ObjectMapper Het wordt gebruikt om de status van een aan/uit-de-serialisatie, Json Generator, JsonParser, Mapper of Serialisatie-functie voor de objectmapper, generatorinstanties, parserinstanties, mapperinstantie of objectmapper te wijzigen.
constructType(Type t) JavaType Als we JavaType willen construeren uit een bepaald type zonder expliciete context, gebruiken we deze methode.
convertValue(Object vanWaarde, Klasse naarWaardeType)
Vergelijkbare methoden:
  1. convertValue(Object vanWaarde, JavaType naarWaardeType)
T Als we een tweestapsconversie van een bepaalde waarde naar een instantie van een bepaald waardetype willen uitvoeren, gebruiken we de methode converValue().
createArrayNode() ArrayNode Het wordt gebruikt om ArrayNode te maken.
standaardClassIntrospector() KlasseIntrospector Als we de standaard ClassIntrospector willen gebruiken, gebruiken we deze Overridable helper-methode om deze te construeren.
uitschakelen (DeserializationFeature-functie)
Vergelijkbare methoden:
  1. uitschakelen(Eerst DeserialisatieFeature, DeserialisatieFeature... f)
  2. uitschakelen (JsonGenerator.Feature... functies)
  3. uitschakelen (JsonParser.Feature... functies)
  4. uitschakelen(MapperFeature... f)
  5. uitschakelen (serialisatiefunctie f)
  6. uitschakelen(SerialisatieFeature eerst, SerialisatieFeature... f)
ObjectMapper Het wordt gebruikt om bepaalde DeserializationConfig, JsonGenerator.Features voor parserinstanties, JsonParser.Features voor parserinstanties van de objecttoewijzer uit te schakelen.
uitschakelenDefaultTyping() ObjectMapper Vaak moeten we de automatische opname van type-informatie uitschakelen, en voor dit doel gebruiken we deze methode.
enable(DeserializationFeature-functie)
  1. enable(DeserializationFeature eerst, DeserializationFeature... f)
  2. enable(JsonGenerator.Feature... functies)
    enable(JsonParser.Feature... functies)
  3. inschakelen(MapperFeature... f)
  4. enable(Serialisatiefunctie f)
  5. enable(SerializationFeature eerst, SerializationFeature... f)
ObjectMapper Het wordt gebruikt om de gegeven DeserializationConfig, JsonGenerator.Features voor parserinstanties, JsonParser.Features voor parserinstanties van de objecttoewijzer in te schakelen.
enableDefaultTyping()
Vergelijkbare methoden:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(ObjectMapper.DefaultTyping toepasbaarheid, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping toepasbaarheid, String propertyName)
ObjectMapper Om automatische opname van type-informatie te gebruiken voor deserialisatie van polymorfe typen, gebruiken we deze methode om dit in te schakelen.
findAndRegisterModules() ObjectMapper Het is vergelijkbaar met de methode mapper.registerModules(mapper.findModules()).
vindModules()
Vergelijkbare methoden:
  1. findModules(ClassLoader-klasseLoader)
Lijst Het wordt gebruikt om beschikbare methoden te lokaliseren. De methode maakt gebruik van de JDK ServiceLoader-faciliteit met door modules geleverde SPI.
getDateFormat() Datumnotatie Het wordt gebruikt om het formaat van de datum te verkrijgen.
getDeserializationConfig() DeserialisatieConfig Het wordt gebruikt om het gedeelde standaardobject DeserializationConfig op te halen. Het geretourneerde object definieert de configuratie-instellingen voor de-serialisatie.
getDeserialisatieContext() DeserialisatieContext Het wordt gebruikt om de huidige DeserializationContext op te halen.
getFactory() JsonFactory Als de mapper een Json-parser en generatoren moet bouwen, heeft hij json-factory nodig, en om dat te krijgen gebruiken we de getFactory() -methode.
getInjectableValues() Injecteerbare waarden Het wordt gebruikt om injecteerbare waarden te verkrijgen.
getJsonFactory() JsonFactory Het is een verouderde methode om de Json-fabriek op te halen.
getNodeFactory() JsonNodeFactory Het wordt gebruikt om de JsonNodeFactory op te halen die door de mapper wordt gebruikt op het moment dat rechtstreeks root-JsonNode-instanties voor Trees worden gebouwd.
getPropertyNamingStrategy() PropertyNamingStrategie Zoals de naam al aangeeft, wordt deze gebruikt voor de naamgevingsstrategie van het onroerend goed.
getSerialisatieConfig() SerialisatieConfig Het wordt gebruikt om het gedeelde standaard SerializationConfig-object op te halen. Het geretourneerde object definieert de configuratie-instellingen voor serialisatie.
getSerializerFactory() SerializerFactory Het wordt gebruikt om de huidige SerializerFactory op te halen.
getSerializerProvider() SerializerProvider Het is een accessor voor de fabriek, die wordt gebruikt om exemplaren te maken door DefaultSerializerProvider.createInstance (SerializationConfig, SerializerFactory) aan te roepen.
getSerializerProviderInstance() SerializerProvider Het is een accessor die wordt gebruikt voor het construeren en retourneren van een exemplaar van de SerializerProvider, die we kunnen gebruiken om toegang te krijgen tot serializers.
getSubtypeResolver() SubtypeResolver Het wordt gebruikt om toegang te krijgen tot de gebruikte subtype-resolver.
getTypeFactory() TypeFabriek Het is een accessor die wordt gebruikt om een ​​exemplaar van de momenteel geconfigureerde TypeFactory op te halen.
getVisibilityChecker() ZichtbaarheidChecker Het wordt gebruikt om toegang te krijgen tot de momenteel geconfigureerde zichtbaarheidscontrole.
isEnabled(deserialisatiefunctie f)
Vergelijkbare methoden:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. isEnabled(Serialisatiefunctie f)
Booleaans De methode isEnable() en zijn varianten worden gebruikt om te controleren of een bepaalde deserialisatiespecifieke JsonFactory-, JsonGenerator-, JsonParser-, Mapper- of Serialisatiefunctie is ingeschakeld of niet.
mixInCount() int Het wordt gebruikt om het aantal mixIn te verkrijgen.
lezer()
Vergelijkbare methoden:
  1. lezer(Base64Variant standaardBase64)
  2. lezer (klassetype)
  3. reader(ContextAttributen-attributen)
  4. reader(DeserializationFeature-functie)
  5. reader(DeserializationFeature eerst, DeserializationFeature... anders)
  6. lezer (FormatSchema-schema)
  7. reader(InjecteerbareWaarden injecteerbareWaarden)
  8. lezer (JavaType-type)
  9. lezer(JsonNodeFactory f)
  10. reader(TypeReference type)
Objectlezer De reader()-methode en zijn varianten zijn de fabrieksmethoden die worden gebruikt om een ​​exemplaar van ObjectReader te construeren. Op basis van de vereiste kunnen we de Base64-coderingsvariant doorgeven voor met Base64 gecodeerde binaire gegevens, standaardattributen, ingeschakelde functies, injecteerbare waarden en JsonNodeFactory voor het construeren van JSON-bomen.
readerFor(Klassetype) Objectlezer Het is een fabrieksmethode die wordt gebruikt om ObjectReader te construeren, waardoor lees- of updatebewerkingen voor exemplaren van het opgegeven type mogelijk zijn.
readerFor(JavaType-type) Objectlezer Het is een fabrieksmethode die wordt gebruikt om ObjectReader te construeren, waardoor lees- of updatebewerkingen voor exemplaren van het opgegeven JavaType mogelijk zijn.
readerFor(TypeReferentietype) Objectlezer Het is een fabrieksmethode die wordt gebruikt om ObjectReader te construeren, waardoor lees- of updatebewerkingen voor exemplaren van een bepaalde TypeReference mogelijk zijn.
readerForUpdating(ObjectwaardeToUpdate) Objectlezer Het is een fabrieksmethode die wordt gebruikt om ObjectReader te construeren, waardoor updatebewerkingen voor het gegeven object mogelijk zijn.
readerWithView(Klasseweergave) Objectlezer Het is een fabrieksmethode die wordt gebruikt om ObjectReader te construeren, waardoor
de-serialisatie van objecten met een bepaalde JSON-weergave.
readTree(byte[] inhoud)
  1. readTree(Bestandsbestand)
  2. readTree(InvoerStream in)
  3. readTree(JsonParser p)
  4. readTree(Lezer r)
  5. readTree(String-inhoud)
  6. readTree(URL-bron)
JsonNode
OF
T
De readTree() en zijn variaties worden gebruikt om de JSON-inhoud te deserialiseren als een boom, uitgedrukt met behulp van een set JsonNode-instanties.
readValue(byte[] src, Klasse waardeType)
Soortgelijke methoden
  1. readValue(byte[] src, int offset, int len, JavaType waardeType)
  2. readValue(byte[] src, int offset, int len, Class valueType)
  3. readValue(byte[] src, JavaType waardeType)
  4. readValue(DataInput src, Klasse waardeType)
  5. readValue(Bestand src, Klasse waardeType)
  6. readValue(DataInput src, JavaType waardeType)
  7. readValue(Bestand src, JavaType waardeType)
  8. readValue(File src, TypeReference valueTypeRef)
  9. readValue(InputStream src, JavaType waardeType)
  10. readValue(byte[] src, TypeReference waardeTypeRef)
  11. readValue(InputStream src, Klasse waardeType)
  12. readValue(InputStream src, TypeReference waardeTypeRef)
  13. readValue(JsonParser p, JavaType waardeType)
  14. readValue(JsonParser p, Klasse waardeType)
  15. readValue(JsonParser p, ResolvedType waardeType)
  16. readValue(byte[] src, int offset, int len, TypeReference valueTypeRef)
  17. readValue(Lezerbron, TypeReferentiewaardeTypeRef)
  18. readValue(JsonParser p, TypeReference valueTypeRef)
  19. readValue(Lezer src, JavaType waardeType)
  20. readValue(String-inhoud, TypeReference waardeTypeRef)
  21. readValue(Lezer src, Klasse waardeType)
  22. readValue(String-inhoud, Klasse waardeType)
  23. readValue(String-inhoud, JavaType valueType)
  24. readValue(URL-bron, TypeReference-waardeTypeRef)readValue(URL-bron, KlassewaardeType)
  25. readValue(URL bron, JavaType waardeType)
T
OF
MappingIterator
De readValue() en zijn varianten worden gebruikt om JSON-inhoud te deserialiseren
  1. Van het gegeven bestand naar een bepaald Java-type, naar een niet-containertype, of naar een Java-typeverwijzing waarnaar het als argument wordt doorgegeven.
  2. Van gegeven JSON-inhoud naar String.
  3. Van een gegeven bron naar een bepaald Java-type.
Variaties worden gebruikt op basis van verschillende vereisten.
readValues(JsonParser p, Klasse waardeType)
Vergelijkbare methoden:
  1. readValues(JsonParser p, JavaType waardeType)
  2. readValues(JsonParser p, ResolvedType waardeType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator De readValues() en zijn variaties worden gebruikt om de reeks objecten uit de parserstroom te lezen.
registerModule(Modulemodule)
Vergelijkbare methoden:
  1. registerModules(Itereerbare modules)
  2. registerModules(Module... modules)
ObjectMapper De registerModule() en zijn variaties worden gebruikt om een ​​module te registreren die de mogelijkheid heeft om de functionaliteit van de mapper uit te breiden.
registerSubtypes(NamedType... typen) leegte Het wordt gebruikt om de gegeven klasse als subtype te registreren. Door dat te doen, kan de op typenaam gebaseerde resolutie supertypes aan subtypes koppelen.
setAnnotatieIntrospector(AnnotatieIntrospector ai) ObjectMapper Het wordt gebruikt om AnnotationIntrospector in te stellen, dat door de mapper-instantie wordt gebruikt voor zowel serialisatie als de-serialisatie.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper Het wordt gebruikt om de instantie van AnnotationIntrospector te wijzigen die door de huidige mapper-instantie wordt gebruikt voor serialisatie en de-serialisatie.
setBase64Variant(Base64Variant v) ObjectMapper Het wordt gebruikt om de standaard Base64Variant te configureren die wordt gebruikt door de byte[] serializers en de-serializers.
setConfig(DeserializationConfig-configuratie) ObjectMapper Om het overschrijven van het onderliggende DeserializationConfig-object uit te voeren, gebruiken we deze methode.
setConfig(SerializationConfig-configuratie) ObjectMapper Om het overschrijven van het onderliggende SerializationConfig-object met serialisatie-specifieke configuratie-instellingen uit te voeren, gebruiken we deze methode.
setDateFormat(DatumFormat datumFormat) ObjectMapper Het wordt gebruikt om de standaard DateFormat te configureren om deze te gebruiken bij het serialiseren van tijdwaarden als Strings of bij het deserialiseren van JSON Strings.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper Het wordt gebruikt om de PrettyPrinter te specificeren voor gebruik wanneer 'default pretty-printing' is ingeschakeld.
setDefaultTyping(TypeResolverBuilder typer) ObjectMapper Het wordt gebruikt om de automatische opname van type-informatie mogelijk te maken.
setHandlerInstantiator(HandlerInstantiator hallo) Voorwerp Het wordt gebruikt om HandlerInstantiator te configureren voor gebruik bij het maken van exemplaren van handlers.
setFilterProvider(FilterProvider-filterProvider) ObjectMapper Het wordt gebruikt om de huidige mapper te configureren om de opgegeven FilterProvider te gebruiken voor het toewijzen van filter-ID's aan daadwerkelijke filterinstanties.
setInjectableValues(InjecteerbareWaarden injecteerbareWaarden) ObjectMapper Het wordt gebruikt om InjectableValues ​​te configureren, die wordt gebruikt om waarden te vinden die moeten worden geïnjecteerd.
setLocale(Lokaal l) ObjectMapper Het wordt gebruikt om de standaardlandinstelling voor opmaak te overschrijven.
setMixInResolver (ClassIntrospector.MixInResolver oplossing) ObjectMapper We gebruiken deze methode om de gegeven solver te specificeren om de te gebruiken mix-in-klassen te lokaliseren, waarbij direct toegevoegde toewijzingen worden overschreven.
setMixInAnnotaties(Map bronMixins) leegte Het is een verouderde methode voor het definiëren van mix-in-annotaties.
setNodeFactory(JsonNodeFactory f) ObjectMapper Het wordt gebruikt om JsonNodeFactory op te geven die moet worden gebruikt voor het construeren van boomknooppunten op hoofdniveau.
setMixIns(kaart bronMixins) ObjectMapper Het wordt gebruikt om de mix-in-annotaties te definiëren die moeten worden gebruikt voor het uitbreiden van annotaties die verwerkbare klassen hebben.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper Het wordt gebruikt om de standaard POJO-eigendomsopnamestrategie voor serialisatie in te stellen.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper Het wordt gebruikt om de aangepaste naamgevingsstrategie voor eigenschappen in te stellen.
setSerializerFactory(SerializerFactory f) ObjectMapper Het wordt gebruikt om de specifieke SerializerFactory in te stellen die moet worden gebruikt voor het construeren van (bean) serializers.
setSerializerProvider(StandaardSerializerProvider p) ObjectMapper Het wordt gebruikt om de 'blauwdruk' SerializerProvider-instantie in te stellen om deze te gebruiken als basis voor daadwerkelijke provider-instanties die moeten worden gebruikt voor het afhandelen van caching van JsonSerializer-instanties.
setSubtypeResolver(SubtypeResolver str) ObjectMapper Het wordt gebruikt om de aangepaste subtype-resolver in te stellen die moet worden gebruikt.
setTimeZone(Tijdzone tz) ObjectMapper Het wordt gebruikt om de standaardtijdzone die voor formattering wordt gebruikt, te overschrijven.
setTypeFactory(TypeFactory f) ObjectMapper Het wordt gebruikt voor het overschrijven van de TypeFactory-instantie, die wordt gebruikt door de huidige mapper.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility zichtbaarheid)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper De setVisibility() en zijn variatie worden gebruikt om de momenteel geconfigureerde VisibilityChecker in te stellen. De geretourneerde ObjectMapper-instantie wordt gebruikt om te controleren of het gegeven eigenschapselement automatisch kan worden gedetecteerd of niet.
treeAsTokens(Boomknooppunt n) JsonParser Het wordt gebruikt om een ​​JsonParser te construeren op basis van een JSON-boomrepresentatie.
treeToValue(TreeNode n, Klasse waardeType) T Het wordt gebruikt om de gegevens die de JSON-boom bevat, te binden aan een specifiek waardetype.
versie() Versie Het wordt gebruikt om de versie-informatie op te halen die is opgeslagen in en te lezen uit de jar die deze klasse bevat.
auteur()
  1. schrijver(Base64Variant standaardBase64)
  2. schrijver (CharacterEscapes ontsnapt)
  3. writer(ContextAttributes-attributen)
  4. schrijver(DatumFormat df)
  5. schrijver(FilterProvider filterProvider)
  6. schrijver (FormatSchema-schema)
  7. schrijver (PrettyPrinter pp)
  8. schrijver (SerializationFeature-functie)
  9. writer(SerializationFeature eerst, SerializationFeature... anders)
ObjectWriter De write() en zijn varianten worden gebruikt om ObjectWriter met standaardinstellingen te construeren, gegeven de Base64-coderingsvariant voor Base64-gecodeerde binaire gegevens, karakter-escaping-details voor uitvoer, standaardattributen, DateFormat, filterprovider, schemaobject voor JsonGenerator gebruikt voor het schrijven van inhoud, mooie printer voor inspringen, of functie ingeschakeld.
writerFor(Klasse rootType) - ObjectWriter Het wordt gebruikt om ObjectWriter te construeren voor het serialiseren van de objecten met behulp van een opgegeven roottype in plaats van het daadwerkelijke runtime-waardetype.
writerFor(JavaType-rootType) ObjectWriter Het wordt gebruikt om ObjectWriter te construeren voor het serialiseren van de objecten met behulp van een opgegeven roottype in plaats van het daadwerkelijke runtime-waardetype.
writerFor(TypeReference rootType) ObjectWriter Het wordt gebruikt om ObjectWriter te construeren voor het serialiseren van de objecten met behulp van een opgegeven roottype in plaats van het daadwerkelijke runtime-waardetype.
writerWithDefaultPrettyPrinter() ObjectWriter Het is een fabrieksmethode die wordt gebruikt om ObjectWriter te construeren voor het serialiseren van de objecten met behulp van de mooie standaardprinter voor inspringen.
writerWithType(Klasse rootType)
  1. writerWithType(Klasse rootType)
  2. writerWithType(TypeReference rootType)
ObjectWriter Deze methoden worden afgeschreven en in plaats daarvan gebruiken we de methode writerFor(TypeReference).
writerWithView (Klasse-serialisatieView) ObjectWriter Het is een fabrieksmethode die wordt gebruikt om ObjectWriter te construeren voor het serialiseren van objecten met behulp van de opgegeven JSON View.
writeTree(JsonGenerator jgen, JsonNode rootNode) leegte Het wordt gebruikt voor het serialiseren van de meegeleverde JSON-boom met behulp van de opgegeven JsonGenerator.
writeValue(BestandsresultaatBestand, Objectwaarde) leegte Het wordt gebruikt om de Java-waarde te serialiseren als JSON-uitvoer en deze naar het gegeven te schrijven bestand.
writeValue(JsonGenerator g, objectwaarde). leegte Het wordt gebruikt om Java-waarden te serialiseren als JSON-uitvoer met behulp van de gegeven JsonGenerator.
writeValue(OutputStream uit, Objectwaarde) leegte Het wordt gebruikt om de Java-waarde te serialiseren als JSON-uitvoer met behulp van de gegeven Uitgangsstroom.
writeValue(Schrijver w, Objectwaarde) leegte Het wordt gebruikt om Java-waarden te serialiseren als JSON-uitvoer met behulp van de gegeven Auteur.
writeValueAsBytes(Objectwaarde) byte[] Het wordt gebruikt voor het serialiseren van Java-waarden als een byte-array.
writeValueAsString(Objectwaarde) Snaar Het wordt gebruikt voor het serialiseren van Java-waarden als een string.

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

Uitgang:

ObjectMapper-klasse in Jackson