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:
- Het ondersteunt geavanceerde concepten zoals Polymorfisme En Object herkenning.
- Het is zeer aanpasbaar om met verschillende stijlen JSON-inhoud te werken.
- 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
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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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)
| 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:
| 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:
| 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:
| 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:
| 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)
| 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
| T OF MappingIterator | De readValue() en zijn varianten worden gebruikt om JSON-inhoud te deserialiseren
|
| readValues(JsonParser p, Klasse waardeType) Vergelijkbare methoden:
| MappingIterator | De readValues() en zijn variaties worden gebruikt om de reeks objecten uit de parserstroom te lezen. |
| registerModule(Modulemodule) Vergelijkbare methoden:
| 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 | 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 | 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)
| 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()
| 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)
| 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: