ObjectMapper-klass i Jackson

ObjectMapper-klass i Jackson

ObjectMapper är en av de viktigaste klasserna som finns i Jackson bibliotek. Den används för att läsa och skriva JSON-data. Den ansvarar för att läsa data från eller till POJO-fil och till och från en JSON-trädmodell.

Det finns följande egenskaper hos ObjectMapper-klassen:

  1. Den stöder avancerade koncept som t.ex Polymorfism och Objektigenkänning.
  2. Det är mycket anpassningsbart att arbeta med olika stilar av JSON-innehåll.
  3. Det fungerar som en fabrik för förskottet Objektläsare och ObjectWriter klasser.

ObjectMapper-klassen deklareras på följande sätt:



 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Kapslade klasser

Följande tabell definierar klasserna som utökar ObjectMapper-klassen eller, kan säga, kapslade klasser av ObjectMapper-klassen.

Klass Beskrivning
DefaultTypeResolverBuilder Det är en skräddarsydd TypeResolverBuilder klass som används för att få typupplösarbyggarna, som vi kan använda med 'standardtypning'.
DefaultTyping För att specificera typen av typer används uppräkningar med metoden enableDefaultTyping() .

Låt oss nu förstå fälten, konstruktörerna och metoderna i ObjectMapper-klassen:

Fält i klassen ObjectMapper

protected DefaultDeserializationContext _deserializationContext

Det är ett ritningskontextobjekt som lagras för att tillåta anpassade underklasser.

protected DeserializationConfig _deserializationConfig

Det är ett konfigurationsobjekt som används för att definiera de grundläggande globala inställningarna för avserialiseringsprocessen.

skyddad JsonFactory jsonFactory

För att skapa en instans av JsonParser och JsonGenerator används JsonFactory.

skyddade InjectableValues ​​_injectableValues

Det är en leverantör som används för att injicera värdena i avserialiserade POJO:er.

skyddade ConfigOverrides _propertyOverrides

Den används för att komma åt de för närvarande aktiva konfigurationsöverstyrningarna per typ.

skyddade SimpleMixInResolver _mixIns

Det är en mappning som används för att definiera ett sätt att tillämpa inblandningskommentarer. Kartläggning görs på följande sätt:

Nyckel: Skriv för att få ytterligare kommentarer.

Värde: Typ som har kommentarer att 'blanda in'

protected Set _registeredModuleTypes

Det är en uppsättning som definierar uppsättningen av modultyper som har registrerats.

skyddad SerializationConfig _serializationConfig

Det är också ett konfigurationsobjekt som används för att definiera de grundläggande globala inställningarna för serialiseringsprocessen.

skyddad ConcurrentHashMap _rootDeserializers

Det är en karta som används för att hålla reda på de-serializers på rotnivå. Det är en karta på huvudnivå.

skyddad SerializerFactory _serializerFactory

Det är en fabrik som används för att konstruera serializers.

skyddad SubtypeResolver _subtypeResolver

Den används för att registrera undertyper och för att lösa dem för super/undertyper efter behov.

skyddad TypeFactory _typeFactory

Det är en fabrik som används för att skapa JavaType-instanser. De krävs för att tillåta moduler att lägga till mer anpassad typhantering.

protected DefaultSerializerProvider _serializerProvider

Det är ett objekt som ansvarar för att hantera åtkomsten till serialiserare som används för serialisering.

skyddade statiska BaseSettings DEFAULT_BASE

Det är basinställningar som inkluderar standardinställningar som används för alla ObjectMapper-instanser.

Konstruktörer av ObjectMapper-klassen

Det finns följande konstruktörer av ObjectMapper-klassen:

Konstruktör Beskrivning
ObjectMapper() Det är en standardkonstruktor som används för att konstruera en instans som använder standard JsonFactory, SerializerProvider, och BeanSerializerFactory.
ObjectMapper(JsonFactory factory) Den används för att konstruera en instans som använder den givna JsonFactory. Den givna JsonFactory används för att konstruera JsonParsers och/eller JsonGenerators.
ObjectMapper (JsonFactory factory, SerializerProvider provider1, DeserializerProvider provider2) Den används för att konstruera en instans som använder det givna JsonFactory, SerializerProvider, och DeserializerProvider. Den givna JsonFactory används för att konstruera JsonParsers och/eller JsonGenerators.
skyddad ObjectMapper (ObjectMapper mapper) Det är en copy-konstruktor för att stödja copy().

ObjectMapper klassmetoder

ObjectMapper-klassen definierar följande metoder:

Metod Returtyp Beskrivning
_checkInvalidCopy(Class exp) tomhet Den används för att kontrollera ogiltig kopia.
_configAndWriteValue(JsonGenerator g, objektvärde) tomhet Den används för att konfigurera generatorn vid behov och sedan utföra skrivfunktionen.
_convert(Object fromValue, JavaType toValueType) Objekt Den används för att få den faktiska konverteringsimplementeringen. Här används inte läs- och skrivmetoder för koden.
_initForReading(JsonParser p) JsonToken Den används för att säkerställa om den givna parsern är redo att läsa innehåll för databindning eller inte.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer För det godkända rotnivåvärdet, om vi vill hitta de-serializern, använder vi den här metoden.
_newReader(DeserializationConfig config)
Liknande metod:
  1. _newReader(DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema-schema, InjectableValues ​​injectableValues)
Objektläsare Det är en fabriksmetod, d.v.s. används för att få ObjectReader-instanserna av rätt undertyp. För att använda denna metod är det nödvändigt att underklasserna måste åsidosätta.
_newWriter(SerializationConfig config)
Liknande metoder:
  1. _newWriter(SerializationConfig config, FormatSchema-schema)
  2. _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp)
ObjectWriter Det är en fabriksmetod, d.v.s. används för att få ObjectWriter-instanserna av rätt undertyp. För att använda denna metod är det nödvändigt att underklasserna måste åsidosätta.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) Objekt Det används för att få ett objekt som definierar värdeläsning och bindningsoperation.
_serializerProvider(SerializationConfig config) DefaultSerializerProvider Det är en överstyrbar hjälpmetod som används för att konstruera SerializerProvider.
acceptJsonFormatVisitor(Klasstyp, JsonFormatVisitorWrapper-besökare)
Liknande metod:
  1. acceptJsonFormatVisitor(JavaType-typ, JsonFormatVisitorWrapper-besökare)
tomhet
tomhet
Om vi ​​vill besöka typhierarkin för en viss typ med den angivna besökaren använder vi denna metod.
addHandler(DeserializationProblemHandler h) ObjectMapper För att hantera specificerade problem under avserialisering använder vi en specificerad DeserializationProblemHandler, och för att lägga till hanteraren använder vi denna metod.
addMixIn(Class target, Class mixinSource) ObjectMapper För att använda inblandningskommentarer för specificerad förstärkningsklass eller gränssnitt använder vi den här metoden för att lägga till den.
canDeserialize (JavaType-typ) Boolean Den används för att kontrollera om mapparen kan avserialisera ett objekt av en angiven typ eller inte.
canDeserialize (JavaType-typ, AtomicReference-orsak) Boolean Det liknar den tidigare metoden. Den enda skillnaden är att den kan returnera den kastbara som kastades vid tidpunkten för konstruktionen av serializern. Den kastbara kan användas för att ta reda på det faktiska problemet.
canSerialize (Klasstyp) Boolean Den används för att kontrollera om mapparen kan serialisera ett objekt av en angiven typ eller inte.
canSerialize (Klasstyp, AtomicReference orsak) Boolean Det liknar den tidigare metoden. Den enda skillnaden är att den kan returnera den kastbara som kastades vid tidpunkten för konstruktionen av serializern. Den kastbara kan användas för att ta reda på det faktiska problemet.
clearProblemHandlers() ObjectMapper Det är en av metoderna som används för att ta bort alla DeserializationProblemHandlers-instanser från mapparen som är registrerade.
konfigurera (DeserializationFeature f, booleskt tillstånd)
liknande metoder:
  1. configure(JsonGenerator.Feature f, booleskt tillstånd)
  2. configure(JsonParser.Feature f, booleskt tillstånd)
  3. konfigurera (MapperFeature f, booleskt tillstånd)
  4. konfigurera (SerializationFeature f, booleskt tillstånd)
ObjectMapper Den används för att ändra tillståndet för en på/av avserialisering, Json Generator, JsonParser, Mapper eller Serialization-funktion för objektmapparen, generatorinstanserna, parsarinstanserna, mappningsinstansen eller objektmapparen.
constructType(Type t) JavaType Om vi ​​vill konstruera JavaType av en given typ utan explicit kontext, använder vi denna metod.
convertValue(Object fromValue, Class toValueType)
Liknande metoder:
  1. convertValue(Object fromValue, JavaType toValueType)
T Om vi ​​vill utföra en tvåstegsomvandling av ett givet värde till en instans av en given värdetyp använder vi metoden converValue() .
createArrayNode() ArrayNode Den används för att skapa ArrayNode.
defaultClassIntrospector() KlassIntrospektör Om vi ​​vill använda standardinställningen ClassIntrospector, använder vi denna Overridable-hjälparmetod för att konstruera den.
inaktivera (DeserializationFeature-funktion)
Liknande metoder:
  1. inaktivera (DeserializationFeature first, DeserializationFeature... f)
  2. disable(JsonGenerator.Feature...funktioner)
  3. disable(JsonParser.Feature... features)
  4. inaktivera (MapperFeature... f)
  5. inaktivera (SerializationFeature f)
  6. inaktivera (SerializationFeature first, SerializationFeature... f)
ObjectMapper Den används för att inaktivera givna DeserializationConfig, JsonGenerator.Features för parser-instanser, JsonParser.Features för parser-instanser av objektmapparen.
disableDefaultTyping() ObjectMapper Många gånger måste vi inaktivera den automatiska inkluderingen av typinformation, och för detta ändamål använder vi denna metod.
aktivera (DeserializationFeature-funktion)
  1. aktivera (DeserializationFeature first, DeserializationFeature... f)
  2. aktivera(JsonGenerator.Feature... funktioner)
    aktivera(JsonParser.Feature... funktioner)
  3. aktivera(MapperFeature... f)
  4. aktivera (SerializationFeature f)
  5. aktivera (SerializationFeature first, SerializationFeature... f)
ObjectMapper Den används för att aktivera den givna DeserializationConfig, JsonGenerator.Features för parser-instanser, JsonParser.Features för parser-instanser av objektmapparen.
enableDefaultTyping()
Liknande metoder:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(ObjectMapper.DefaultTyping applicability, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability, String propertyName)
ObjectMapper För att använda automatisk inkludering av typinformation för avserialisering av polymorfa typer, använder vi denna metod för att aktivera den.
findAndRegisterModules() ObjectMapper Det liknar metoden mapper.registerModules(mapper.findModules()).
findModules()
Liknande metoder:
  1. findModules(ClassLoader classLoader)
Lista Den används för att hitta tillgängliga metoder. Metoden använder JDK ServiceLoader-faciliteten med modulförsedd SPI.
getDateFormat() Datumformat Det används för att få formatet på datumet.
getDeserializationConfig() DeserializationConfig Det används för att hämta det delade standardobjektet DeserializationConfig. Det returnerade objektet definierar konfigurationsinställningarna för avserialisering.
getDeserializationContext() DeserializationContext Den används för att få den aktuella DeserializationContext.
getFactory() JsonFactory Om mapparen behöver konstruera en Json-parser och generatorer behöver den json factory, och för att få det använder vi metoden getFactory().
getInjectableValues() Injicerbara värden Det används för att få injicerbara värden.
getJsonFactory() JsonFactory Det är en föråldrad metod för att få Json-fabriken.
getNodeFactory() JsonNodeFactory Den används för att hämta JsonNodeFactory som används av mapparen vid tidpunkten för att direkt konstruera root JsonNode-instanser för Trees.
getPropertyNamingStrategy() PropertyNamingStrategy Som namnet antyder är den van vid namnstrategin för fastigheten.
getSerializationConfig() SerializationConfig Det används för att hämta det delade standardobjektet SerializationConfig. Det returnerade objektet definierar konfigurationsinställningarna för serialisering.
getSerializerFactory() SerializerFactory Den används för att hämta den nuvarande SerializerFactory.
getSerializerProvider() SerializerProvider Det är en accessor för fabriken, som används för att skapa instanser genom att anropa DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() SerializerProvider Det är en accessor som används för att konstruera och returnera en instans av SerializerProvider, som vi kan använda för att komma åt serializers.
getSubtypeResolver() SubtypeResolver Den används för att komma åt den undertypslösare som används.
getTypeFactory() TypFactory Det är en accessor som används för att få en instans av den för närvarande konfigurerade TypeFactory.
getVisibilityChecker() VisibilityChecker Den används för att komma åt den för närvarande konfigurerade synlighetskontrollen.
isEnabled(DeserializationFeature f)
Liknande metoder:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. isEnabled(SerializationFeature f)
Boolean Metoden isEnable() och dess varianter används för att kontrollera om en given deserialiseringsspecifik, JsonFactory, JsonGenerator, JsonParser, Mapper eller Serialization-funktion är aktiverad eller inte.
mixInCount() int Den används för att få räkningen av mixIn.
läsare()
Liknande metoder:
  1. läsare (Base64Variant defaultBase64)
  2. läsare (klasstyp)
  3. reader(ContextAttributes attrs)
  4. läsare (DeserializationFeature-funktion)
  5. läsare (DeserializationFeature först, DeserializationFeature... annat)
  6. läsare (FormatSchema-schema)
  7. läsare (InjectableValues ​​injectableValues)
  8. läsare (JavaType-typ)
  9. läsare (JsonNodeFactory f)
  10. läsare (typreferenstyp)
Objektläsare Reader()-metoden och dess variationer är fabriksmetoderna som används för att konstruera en instans av ObjectReader. Baserat på kravet kan vi skicka Base64-kodningsvarianten för Base64-kodad binär data, standardattribut, aktiverade funktioner, injicerbara värden, JsonNodeFactory för att konstruera JSON-träd.
readerFor(Klasstyp) Objektläsare Det är en fabriksmetod som används för att konstruera ObjectReader, som tillåter läs- eller uppdateringsoperationer för instanser av den angivna typen.
readerFor(JavaType-typ) Objektläsare Det är en fabriksmetod som används för att konstruera ObjectReader, som tillåter läs- eller uppdateringsoperationer för instanser av specificerad JavaType.
readerFor(TypeReference type) Objektläsare Det är en fabriksmetod som används för att konstruera ObjectReader, som tillåter läs- eller uppdateringsoperationer för instanser av given TypeReference.
readerForUpdating(Object valueToUpdate) Objektläsare Det är en fabriksmetod som används för att konstruera ObjectReader som tillåter uppdateringsoperationer för det givna objektet.
readerWithView(Klassvy) Objektläsare Det är en fabriksmetod som används för att konstruera ObjectReader, vilket tillåter
avserialisering av objekt med given JSON View.
readTree(byte[] innehåll)
  1. readTree (filfil)
  2. readTree(InputStream in)
  3. readTree(JsonParser p)
  4. readTree(Reader r)
  5. readTree(Stränginnehåll)
  6. readTree (URL-källa)
JsonNode
ELLER
T
ReadTree() och dess varianter används för att avserialisera JSON-innehållet som ett träd uttryckt med en uppsättning JsonNode-instanser.
readValue(byte[] src, Class valueType)
Liknande metoder
  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 content, TypeReference valueTypeRef)
  21. readValue(Reader src, Class valueType)
  22. readValue(Stränginnehåll, Class valueType)
  23. readValue(Stränginnehåll, JavaType valueType)
  24. readValue(URL src, TypeReference valueTypeRef)readValue(URL src, Class valueType)
  25. readValue(URL src, JavaType valueType)
T
ELLER
MappingIterator
ReadValue() och dess varianter används för att avserialisera JSON-innehåll
  1. Från den givna filen till en given Java-typ, till en icke-containertyp eller till en Java-typreferens till vilken den skickas som ett argument.
  2. Från givet JSON-innehåll till String.
  3. Från given resurs till given Java-typ.
Variationer används utifrån olika krav.
readValues(JsonParser p, Class valueType)
Liknande metoder:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator ReadValues() och dess variationer används för att läsa sekvensen av objekt från parserströmmen.
registerModule(Modulmodul)
Liknande metoder:
  1. registerModules (Itererbara moduler)
  2. registerModules(Module... moduler)
ObjectMapper RegisterModule() och dess variationer används för att registrera en modul som har förmågan att utöka funktionaliteten som tillhandahålls av mapparen.
registerSubtypes(NamedType... typer) tomhet Den används för att registrera den givna klassen som en undertyp. Genom att göra det kan den typnamnbaserade upplösningen länka supertyper till undertyper.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper Den används för att ställa in AnnotationIntrospector, som används av mappar-instansen för både serialisering och avserialisering.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper Den används för att ändra instansen av AnnotationIntrospector som används av den aktuella mapparinstansen för serialisering och avserialisering.
setBase64Variant(Base64Variant v) ObjectMapper Den används för att konfigurera standard Base64Variant som kommer att användas av byte[] serializers och de-serializers.
setConfig(DeserializationConfig config) ObjectMapper För att utföra åsidosättningen av det underliggande DeserializationConfig-objektet använder vi den här metoden.
setConfig(SerializationConfig config) ObjectMapper För att utföra åsidosättningen av det underliggande SerializationConfig-objektet med serialiseringsspecifika konfigurationsinställningar använder vi den här metoden.
setDateFormat(DateFormat dateFormat) ObjectMapper Det används för att konfigurera standardDateFormat för att använda det vid tidpunkten för serialisering av tidsvärden som strängar eller avserialisering från JSON Strings.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper Den används för att ange PrettyPrinter för att använda den när 'default pretty-printing' är aktiverat.
setDefaultTyping(TypeResolverBuilder-typ) ObjectMapper Den används för att möjliggöra automatisk inkludering av typinformation.
setHandlerInstantiator(HandlerInstantiator hej) Objekt Den används för att konfigurera HandlerInstantiator att använda för att skapa instanser av hanterare.
setFilterProvider(FilterProvider filterProvider) ObjectMapper Den används för att konfigurera den aktuella mapparen för att använda specificerad FilterProvider för att mappa filter-ID:n till faktiska filterinstanser.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper Den används för att konfigurera InjectableValues ​​som används för att hitta värden att injicera.
setLocale(Local l) ObjectMapper Den används för att åsidosätta standardlokalen som ska användas för formatering.
setMixInResolver(ClassIntrospector.MixInResolver resolve) ObjectMapper Vi använder den här metoden för att specificera den givna resolvern för att lokalisera inblandningsklasser som ska användas, och åsidosätter direkt tillagda mappningar.
setMixInAnnotations(Map sourceMixins) tomhet Det är en avskriven metod för att definiera inblandningskommentarer.
setNodeFactory(JsonNodeFactory f) ObjectMapper Den används för att specificera JsonNodeFactory som ska användas för att konstruera trädnoder på rotnivå.
setMixIns(Map sourceMixins) ObjectMapper Den används för att definiera de inblandningskommentarer som ska användas för att utöka kommentarer som bearbetningsbara klasser har.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper Den används för att ställa in standardinkluderingsstrategin för POJO-egenskapen för serialisering.
setPropertyNameStrategy(PropertyNamingStrategy s) ObjectMapper Den används för att ställa in den anpassade egendomsnamnstrategin som ska användas.
setSerializerFactory(SerializerFactory f) ObjectMapper Den används för att ställa in den specifika SerializerFactory som ska användas för att konstruera (bönor) serializers.
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper Den används för att ställa in 'blueprint' SerializerProvider-instansen för att använda den som bas till faktiska leverantörsinstanser att använda för att hantera cachning av JsonSerializer-instanser.
setSubtypeResolver(SubtypeResolver str) ObjectMapper Den används för att ställa in den anpassade subtypupplösaren som ska användas.
setTimeZone(TimeZone tz) ObjectMapper Den används för att åsidosätta standardtidszonen som ska användas för formatering.
setTypeFactory(TypeFactory f) ObjectMapper Den används för att åsidosätta TypeFactory-instansen, som används av den aktuella mappen.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility synlighet)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper SetVisibility() och dess variant används för att ställa in den för närvarande konfigurerade VisibilityChecker. Den returnerade ObjectMapper-instansen används för att kontrollera om det givna egenskapselementet kan upptäckas automatiskt eller inte.
treeAsTokens(TreeNode n) JsonParser Den används för att konstruera en JsonParser ur JSON-trädrepresentation.
treeToValue(TreeNode n, Class valueType) T Den används för att binda den data som ett givet JSON-träd innehåller till en specifik värdetyp.
version() Version Den används för att hämta versionsinformationen lagrad i och läsas från burken som innehåller denna klass.
författare()
  1. writer(Base64Variant defaultBase64)
  2. författare (CharacterEscapes escapes)
  3. writer(ContextAttributes attrs)
  4. writer(DateFormat df)
  5. författare (FilterProvider filterProvider)
  6. writer(FormatSchema-schema)
  7. författare (PrettyPrinter pp)
  8. writer (SerializationFeature-funktion)
  9. författare (SerializationFeature först, SerializationFeature... annat)
ObjectWriter Write() och dess varianter används för att konstruera ObjectWriter med standardinställningar, givet Base64-kodningsvariant för Base64-kodad binär data, teckenutgående detaljer för utdata, standardattribut, DateFormat, filterleverantör, schemaobjekt till JsonGenerator som används för att skriva innehåll, snygg skrivare för indrag, eller funktion aktiverad.
writerFor(Class rootType) - ObjectWriter Den används för att konstruera ObjectWriter för att serialisera objekten med en angiven rottyp istället för den faktiska runtime-typen av värde.
writerFor(JavaType rootType) ObjectWriter Den används för att konstruera ObjectWriter för att serialisera objekten med en angiven rottyp istället för den faktiska runtime-typen av värde.
writerFor(TypeReference rootType) ObjectWriter Den används för att konstruera ObjectWriter för att serialisera objekten med en angiven rottyp istället för den faktiska runtime-typen av värde.
writerWithDefaultPrettyPrinter() ObjectWriter Det är en fabriksmetod som används för att konstruera ObjectWriter för att serialisera objekten med den ganska standardskrivaren för indrag.
writerWithType(Class rootType)
  1. writerWithType(Class rootType)
  2. writerWithType(TypeReference rootType)
ObjectWriter Dessa metoder skrivs av och istället för dem använder vi metoden writerFor(TypeReference).
writerWithView(Class serializationView) ObjectWriter Det är en fabriksmetod som används för att konstruera ObjectWriter för att serialisera objekt med angiven JSON View.
writeTree(JsonGenerator jgen, JsonNode rootNode) tomhet Den används för att serialisera det medföljande JSON-trädet genom att använda den givna JsonGenerator.
writeValue(File resultFile, Object value) tomhet Det används för att serialisera Java-värde som JSON-utdata och skriva det till det givna fil.
writeValue(JsonGenerator g, Objektvärde). tomhet Den används för att serialisera Java-värden som JSON-utdata genom att använda den givna JsonGenerator.
writeValue(OutputStream out, Object value) tomhet Den används för att serialisera Java-värde som JSON-utdata genom att använda den givna OutputStream.
writeValue(Writer w, Object value) tomhet Den används för att serialisera Java-värden som JSON-utdata genom att använda den givna Författare.
writeValueAsBytes(Objektvärde) byte[] Den används för att serialisera Java-värden som en byte-array.
writeValueAsString(Objektvärde) Sträng Den används för att serialisera Java-värden som en sträng.

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

Produktion:

ObjectMapper-klass i Jackson

Top Artiklar

Kategori

Intressanta Artiklar