Classe ObjectMapper a Jackson

Classe ObjectMapper a Jackson

ObjectMapper és una de les classes més importants disponibles a el Jackson biblioteca. S'utilitza per llegir i escriure dades JSON. És responsable de llegir les dades des o cap al fitxer POJO i des d'un model d'arbre JSON.

Hi ha les següents característiques de la classe ObjectMapper:

  1. Admet conceptes avançats com ara Polimorfisme i Reconeixement d'objectes.
  2. És molt personalitzable per treballar amb diferents estils de contingut JSON.
  3. Funciona com a fàbrica per a l'avanç ObjectReader i ObjectWriter classes.

La classe ObjectMapper es declara de la manera següent:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Classes imbricades

La taula següent defineix les classes que estenen la classe ObjectMapper o, es pot dir, classes imbricades de la classe ObjectMapper.

Classe Descripció
DefaultTypeResolverBuilder És un personalitzat TypeResolverBuilder classe que s'utilitza per obtenir els constructors de resolució de tipus, amb els quals podem utilitzar 'escriptura per defecte'.
Escriptura per defecte Per tal d'especificar el tipus de tipus, s'utilitzen enumeracions amb el mètode enableDefaultTyping().

Ara, entenem els camps, constructors i mètodes de la classe ObjectMapper:

Camps de la classe ObjectMapper

protected DefaultDeserializationContext _deserializationContext

És un objecte de context de plànol que s'emmagatzema per permetre subclasses personalitzades.

protected DeserializationConfig _deserializationConfig

És un objecte de configuració que s'utilitza per definir la configuració global bàsica per al procés de deserialització.

protegit JsonFactory jsonFactory

Per crear una instància de JsonParser i JsonGenerator, s'utilitza JsonFactory.

protegit InjectableValues ​​_injectableValues

És un proveïdor que s'utilitza per injectar els valors en POJO deserialitzats.

protegit ConfigOverrides _propertyOverrides

S'utilitza per accedir a les substitucions de configuració per tipus actives actualment.

protegit SimpleMixInResolver _mixIns

És un mapeig que s'utilitza per definir una manera d'aplicar anotacions mixtes. El mapatge es fa de la següent manera:

Clau: Escriviu per rebre anotacions addicionals.

Valor: Tipus que té anotacions per 'mesclar'

protegit Set _registeredModuleTypes

És un conjunt que defineix el conjunt de tipus de mòduls que s'han registrat.

protegit SerializationConfig _serializationConfig

També és un objecte de configuració que s'utilitza per definir la configuració global bàsica per al procés de serialització.

ConcurrentHashMap protegit _rootDeserializers

És un mapa que s'utilitza per fer un seguiment dels deserialitzadors a nivell d'arrel. És un mapa de nivell principal.

protegit SerializerFactory _serializerFactory

És una fàbrica que s'utilitza per construir els serialitzadors.

SubtypeResolver protegit _subtypeResolver

S'utilitza per registrar subtipus i per resoldre'ls per a super/subtipus segons sigui necessari.

protegit TypeFactory _typeFactory

És una fàbrica que s'utilitza per crear instàncies JavaType. Són necessaris per permetre als mòduls afegir més maneig de tipus personalitzat.

protected DefaultSerializerProvider _serializerProvider

És un objecte que s'encarrega de gestionar l'accés als serialitzadors utilitzats per a la serialització.

BaseSettings estàtica protegida DEFAULT_BASE

És la configuració bàsica que inclou els valors predeterminats utilitzats per a totes les instàncies d'ObjectMapper.

Constructors de la classe ObjectMapper

Hi ha els següents constructors de la classe ObjectMapper:

Constructor Descripció
ObjectMapper() És un constructor predeterminat que s'utilitza per construir una instància que utilitza per defecte JsonFactory, SerializerProvider, i BeanSerializerFactory.
ObjectMapper (fàbrica JsonFactory) S'utilitza per construir una instància que utilitza la JsonFactory donada. La JsonFactory donada s'utilitza per construir JsonParsers i/o JsonGenerators.
ObjectMapper (fàbrica JsonFactory, proveïdor SerializerProvider 1, proveïdor DeserializerProvider 2) S'utilitza per construir una instància que utilitza el donat JsonFactory, SerializerProvider, i DeserializerProvider. La JsonFactory donada s'utilitza per construir JsonParsers i/o JsonGenerators.
ObjectMapper protegit (mapeador d'ObjectMapper) És un constructor de còpia per suportar copy().

Mètodes de classe ObjectMapper

La classe ObjectMapper defineix els mètodes següents:

Mètode Tipus de retorn Descripció
_checkInvalidCopy(Exp de classe) buit S'utilitza per comprovar una còpia no vàlida.
_configAndWriteValue(JsonGenerator g, valor de l'objecte) buit S'utilitza per configurar el generador quan sigui necessari i després realitzar la funcionalitat d'escriptura.
_convert(Objecte de valor, JavaType aValueType) Objecte S'utilitza per obtenir la implementació real de la conversió. Aquí, els mètodes de lectura i escriptura no s'utilitzen per al codi.
_initForReading(JsonParser p) JsonToken S'utilitza per assegurar-se si l'analitzador donat està preparat per llegir contingut per a l'enllaç de dades o no.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer Per al valor de nivell arrel passat, si volem localitzar el deserialitzador, utilitzem aquest mètode.
_newReader (configuració de deserialització de la configuració)
Mètode semblant:
  1. _newReader (configuració DeserializationConfig, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues ​​injectableValues)
ObjectReader És un mètode de fàbrica, és a dir, utilitzat per obtenir les instàncies ObjectReader del subtipus adequat. Per utilitzar aquest mètode, és necessari que les subclasses han d'anul·lar.
_newWriter (configuració de SerializationConfig)
Mètodes semblants:
  1. _newWriter (configuració SerializationConfig, esquema FormatSchema)
  2. _newWriter (configuració SerializationConfig, JavaType rootType, PrettyPrinter pp)
ObjectWriter És un mètode de fàbrica, és a dir, utilitzat per obtenir les instàncies ObjectWriter del subtipus adequat. Per utilitzar aquest mètode, és necessari que les subclasses han d'anul·lar.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) Objecte S'utilitza per obtenir un objecte que defineix la lectura de valors i l'operació d'enllaç.
_serializerProvider(configuració de SerializationConfig) DefaultSerializerProvider És un mètode d'ajuda anul·lable que s'utilitza per construir SerializerProvider.
acceptJsonFormatVisitor(Tipus de classe, visitant JsonFormatVisitorWrapper)
Mètode semblant:
  1. acceptJsonFormatVisitor (tipus JavaType, visitant JsonFormatVisitorWrapper)
buit
buit
Si volem visitar la jerarquia de tipus d'un tipus concret amb el visitant especificat, utilitzem aquest mètode.
addHandler(DeserializationProblemHandler h) ObjectMapper Per tal de gestionar problemes especificats durant la deserialització, utilitzem un DeserializationProblemHandler especificat i per afegir el controlador, utilitzem aquest mètode.
addMixIn(Class target, Class mixinSource) ObjectMapper Per tal d'utilitzar l'anotació mixta per a una classe o interfície augmentadora especificada, utilitzem aquest mètode per afegir-la.
canDeserialize (tipus JavaType) booleà S'utilitza per comprovar si el mapeador pot deserialitzar un objecte d'un tipus especificat o no.
canDeserialize (tipus JavaType, causa AtomicReference) booleà És similar al mètode anterior. L'única diferència és que pot tornar l'element llançable que es va llançar en el moment de construir el serialitzador. El llançable es pot utilitzar per esbrinar el problema real.
canSerialize (tipus de classe) booleà S'utilitza per comprovar si el mapeador pot serialitzar un objecte d'un tipus especificat o no.
canSerialize (tipus de classe, causa AtomicReference) booleà És similar al mètode anterior. L'única diferència és que pot tornar l'element llançable que es va llançar en el moment de construir el serialitzador. El llançable es pot utilitzar per esbrinar el problema real.
clearProblemHandlers() ObjectMapper És un dels mètodes que s'utilitzen per eliminar totes les instàncies de DeserializationProblemHandlers del mapeador que estan registrades.
configure(DeserializationFeature f, estat booleà)
mètodes semblants:
  1. configure(JsonGenerator.Feature f, estat booleà)
  2. configure(JsonParser.Feature f, estat booleà)
  3. configure(MapperFeature f, estat booleà)
  4. configure(SerializationFeature f, estat booleà)
ObjectMapper S'utilitza per canviar l'estat d'una funció de deserialització activada/desactivada, Json Generator, JsonParser, Mapper o funció de serialització per al mapeador d'objectes, instàncies del generador, instàncies de l'analitzador, instància de mapeador o mapeador d'objectes.
constructType (Tipus t) JavaType Si volem construir JavaType a partir d'un tipus donat sense context explícit, utilitzem aquest mètode.
convertValue(Object fromValue, Class toValueType)
Mètodes semblants:
  1. convertValue(Objecte des de Valor, JavaType aValueType)
T Si volem realitzar una conversió en dos passos d'un valor determinat en una instància d'un tipus de valor determinat, utilitzem el mètode converValue().
createArrayNode() ArrayNode S'utilitza per crear ArrayNode.
defaultClassIntrospector() ClassIntrospector Si volem fer servir el ClassIntrospector per defecte, utilitzem aquest mètode d'ajuda per a anul·lar per construir-lo.
desactivar (funció de deserialització)
Mètodes semblants:
  1. desactivar (primer la funció de deserialització, la funció de deserialització... f)
  2. desactivar (funcions de JsonGenerator.Feature...)
  3. disable(JsonParser.Feature... característiques)
  4. desactivar(MapperFeature... f)
  5. desactivar (funció de serialització f)
  6. desactivar (primer la funció de serialització, la funció de serialització... f)
ObjectMapper S'utilitza per desactivar determinats DeserializationConfig, JsonGenerator.Features per a instàncies de l'analitzador, JsonParser.Features per a instàncies de l'analitzador del mapa d'objectes.
disableDefaultTyping() ObjectMapper Moltes vegades, hem de desactivar la inclusió automàtica d'informació de tipus i, per a això, utilitzem aquest mètode.
habilitar (funció de deserialització)
  1. activar (primer la funció de deserialització, la funció de deserialització... f)
  2. enable(JsonGenerator.Feature... característiques)
    enable(JsonParser.Feature... característiques)
  3. activar (MapperFeature... f)
  4. habilitar (funció de serialització f)
  5. activar (primer la funció de serialització, la funció de serialització... f)
ObjectMapper S'utilitza per habilitar la DeserializationConfig donada, JsonGenerator.Features per a instàncies de l'analitzador, JsonParser.Features per a instàncies de l'analitzador del mapa d'objectes.
enableDefaultTyping()
Mètodes semblants:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(ObjectMapper.DefaultTyping aplicabilitat, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping aplicabilitat, String propertyName)
ObjectMapper Per utilitzar la inclusió automàtica d'informació de tipus per a la deserialització de tipus polimòrfics, utilitzem aquest mètode per habilitar-lo.
findAndRegisterModules() ObjectMapper És similar al mètode mapper.registerModules(mapper.findModules()).
trobar mòduls()
Mètodes semblants:
  1. findModules(ClassLoader classLoader)
Llista S'utilitza per localitzar els mètodes disponibles. El mètode utilitza la funció JDK ServiceLoader amb SPI proporcionat pel mòdul.
getDateFormat() Format de data S'utilitza per obtenir el format de la data.
getDeserializationConfig() DeserializationConfig S'utilitza per obtenir l'objecte DeserializationConfig compartit per defecte. L'objecte retornat defineix els paràmetres de configuració per a la deserialització.
getDeserializationContext() Context de deserialització S'utilitza per obtenir l'actual DeserializationContext.
getFactory() JsonFactory Si el mapeador necessita construir un analitzador i generadors Json, necessita la fàbrica json, i per aconseguir-ho, utilitzem el mètode getFactory().
getInjectableValues() Valors injectables S'utilitza per obtenir valors injectables.
getJsonFactory() JsonFactory És un mètode obsolet per obtenir la fàbrica Json.
getNodeFactory() JsonNodeFactory S'utilitza per obtenir el JsonNodeFactory que fa servir el mapeador en el moment de construir directament instàncies arrel de JsonNode per als arbres.
getPropertyNamingStrategy() PropertyNamingStrategy Com el seu nom indica, s'utilitza per a l'estratègia de denominació de la propietat.
getSerializationConfig() SerializationConfig S'utilitza per obtenir l'objecte SerializationConfig compartit per defecte. L'objecte retornat defineix els paràmetres de configuració per a la serialització.
getSerializerFactory() SerializerFactory S'utilitza per obtenir la SerializerFactory actual.
getSerializerProvider() SerialitzadorProvider És un descriptor de accés per a la fàbrica, que s'utilitza per crear instàncies cridant a DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() SerialitzadorProvider És un descriptor que s'utilitza per construir i retornar una instància del SerializerProvider, que podem utilitzar per accedir als serialitzadors.
getSubtypeResolver() SubtypeResolver S'utilitza per accedir a la resolució de subtipus en ús.
getTypeFactory() TypeFactory És un descriptor que s'utilitza per obtenir una instància de la TypeFactory configurada actualment.
getVisibilityChecker() VisibilityChecker S'utilitza per accedir al verificador de visibilitat configurat actualment.
isEnabled (Funció de deserialització f)
Mètodes similars:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. isEnabled (funció de serialització f)
booleà El mètode isEnable() i les seves variacions s'utilitzen per comprovar si la funció específica de deserialització, JsonFactory, JsonGenerator, JsonParser, Mapper o Serialization està habilitada o no.
mixInCount() int S'utilitza per obtenir el recompte de mixIn.
lector ()
Mètodes similars:
  1. lector (Base64Variant defaultBase64)
  2. lector (tipus de classe)
  3. lector (atributs de context)
  4. lector (funció de deserialització)
  5. lector (primer la funció de deserialització, la funció de deserialització... un altre)
  6. lector (esquema d'esquema de format)
  7. lector (InjectableValues ​​injectableValues)
  8. lector (tipus JavaType)
  9. lector (JsonNodeFactory f)
  10. lector (tipus TypeReference)
ObjectReader El mètode reader() i les seves variacions són els mètodes de fàbrica que s'utilitzen per construir una instància d'ObjectReader. En funció del requisit, podem passar la variant de codificació Base64 per a dades binàries codificades amb Base64, atributs predeterminats, funcions activades, valors injectables, JsonNodeFactory per construir arbres JSON.
readerFor (tipus de classe) ObjectReader És un mètode de fàbrica que s'utilitza per construir ObjectReader, permetent operacions de lectura o actualització per a instàncies del tipus especificat.
readerFor (tipus JavaType) ObjectReader És un mètode de fàbrica que s'utilitza per construir ObjectReader, permetent operacions de lectura o actualització per a instàncies de JavaType especificat.
readerFor(Tipus de referència de tipus) ObjectReader És un mètode de fàbrica que s'utilitza per construir ObjectReader, permetent operacions de lectura o actualització per a instàncies de TypeReference donat.
readerForUpdating(Valor de l'objecteToUpdating) ObjectReader És un mètode de fàbrica que s'utilitza per construir ObjectReader que permet operacions d'actualització per a l'objecte donat.
readerWithView (visualització de classe) ObjectReader És un mètode de fàbrica que s'utilitza per construir ObjectReader, permetent
deserialització d'objectes amb una vista JSON donada.
readTree(byte[] contingut)
  1. readTree (fitxer de fitxer)
  2. readTree (InputStream a)
  3. readTree (JsonParser p)
  4. readTree (Lector r)
  5. readTree (contingut de cadena)
  6. readTree (font de l'URL)
JsonNode
O
T
El readTree() i les seves variacions s'utilitzen per deserialitzar el contingut JSON com un arbre expressat mitjançant un conjunt d'instàncies JsonNode.
readValue(byte[] src, Class valueType)
Mètodes similars
  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(Fitxer src, Class valueType)
  6. readValue(DataInput src, JavaType valueType)
  7. readValue(Fitxer src, JavaType valueType)
  8. readValue(Fitxer 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(contingut de la cadena, valor TypeReferenceTypeRef)
  21. readValue(Reader src, Class valueType)
  22. readValue(Contingut de la cadena, Class valueType)
  23. readValue (contingut de cadena, JavaType valueType)
  24. readValue(URL src, TypeReference valueTypeRef)readValue(URL src, Class valueType)
  25. readValue(URL src, JavaType valueType)
T
O
MappingIterator
El readValue() i les seves variacions s'utilitzen per deserialitzar el contingut JSON
  1. Del fitxer donat a un tipus de Java determinat, a un tipus que no sigui contenidor o a una referència de tipus Java a la qual es passa com a argument.
  2. Del contingut JSON donat a String.
  3. Del recurs donat al tipus Java donat.
Les variacions s'utilitzen en funció de diferents requisits.
readValues(JsonParser p, Class valueType)
Mètodes semblants:
  1. readValues ​​(JsonParser p, JavaType valueType)
  2. readValues ​​(JsonParser p, ResolvedType valueType)
  3. readValues ​​(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator El readValues() i les seves variacions s'utilitzen per llegir la seqüència d'objectes del flux d'analitzador.
registerModule (mòdul de mòdul)
Mètodes semblants:
  1. registerModules (mòduls iterables)
  2. registerModules(Mòdul... mòduls)
ObjectMapper El registerModule() i les seves variacions s'utilitzen per registrar un mòdul que té la capacitat d'estendre la funcionalitat proporcionada pel mapeador.
registerSubtypes(TipusNominat... tipus) buit S'utilitza per registrar la classe donada com a subtipus. En fer-ho, la resolució basada en el nom del tipus pot enllaçar supertipus amb subtipus.
setAnnotationIntrospector(AnotationIntrospector ai) ObjectMapper S'utilitza per configurar AnnotationIntrospector, que s'utilitza per la instància del mapeador tant per a la serialització com per a la deserialització.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper S'utilitza per canviar la instància d'AnnotationIntrospector utilitzada per la instància del mapeador actual per a la serialització i la deserialització.
setBase64Variant(Base64Variant v) ObjectMapper S'utilitza per configurar la Base64Variant predeterminada que utilitzaran els serialitzadors i deserialitzadors byte[].
setConfig (configuració de deserialització de la configuració) ObjectMapper Per tal de realitzar la substitució de l'objecte DeserializationConfig subjacent, utilitzem aquest mètode.
setConfig (configuració de SerializationConfig) ObjectMapper Per tal de substituir l'objecte SerializationConfig subjacent amb paràmetres de configuració específics de la serialització, utilitzem aquest mètode.
setDateFormat(DateFormat dataFormat) ObjectMapper S'utilitza per configurar el DateFormat predeterminat perquè l'utilitzi en el moment de serialitzar els valors de temps com a cadenes o des-serialitzar des de cadenes JSON.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper S'utilitza per especificar la PrettyPrinter per utilitzar-la quan la 'impressió bonica per defecte' està habilitada.
setDefaultTyping (escriptor de TypeResolverBuilder) ObjectMapper S'utilitza per permetre la inclusió automàtica d'informació de tipus.
setHandlerInstantiator(HandlerInstantiator hola) Objecte S'utilitza per configurar HandlerInstantiator perquè s'utilitzi per crear instàncies de controladors.
setFilterProvider(FilterProvider filterProvider) ObjectMapper S'utilitza per configurar el mapeador actual perquè utilitzi el FilterProvider especificat per assignar els identificadors de filtre a instàncies de filtre reals.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper S'utilitza per configurar InjectableValues ​​que s'utilitza per trobar valors per injectar.
setLocale(Local l) ObjectMapper S'utilitza per anul·lar la configuració regional predeterminada que s'utilitzarà per al format.
setMixInResolver(ClassIntrospector.MixInResolver resoldre) ObjectMapper Utilitzem aquest mètode per especificar el resolutor donat per localitzar les classes combinades a utilitzar, anul·lant els mapes afegits directament.
setMixInAnnotations(Mapa sourceMixins) buit És un mètode amortitzat per definir l'anotació mixta.
setNodeFactory (JsonNodeFactory f) ObjectMapper S'utilitza per especificar JsonNodeFactory que s'utilitzarà per construir nodes d'arbre a nivell arrel.
setMixIns(Mapa sourceMixins) ObjectMapper S'utilitza per definir les anotacions combinades que s'utilitzen per augmentar les anotacions que tenen les classes processables.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper S'utilitza per establir l'estratègia d'inclusió de propietats POJO per defecte per a la serialització.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper S'utilitza per establir l'estratègia de nomenclatura de propietats personalitzada a utilitzar.
setSerializerFactory(SerializerFactory f) ObjectMapper S'utilitza per configurar la SerializerFactory específica que s'utilitzarà per construir serialitzadors (bean).
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper S'utilitza per establir la instància de SerializerProvider 'plan' per utilitzar-la com a base per a les instàncies reals del proveïdor que s'utilitzaran per gestionar la memòria cau de les instàncies de JsonSerializer.
setSubtypeResolver(SubtypeResolver str) ObjectMapper S'utilitza per configurar el solucionador de subtipus personalitzat que s'utilitzarà.
setTimeZone(TimeZone tz) ObjectMapper S'utilitza per anul·lar la zona horària predeterminada que s'utilitzarà per al format.
setTypeFactory(TypeFactory f) ObjectMapper S'utilitza per anul·lar la instància TypeFactory, que fa servir el mapeador actual.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)
  1. setVisibility (VisibilityChecker vc)
  2. setVisibilityChecker (VisibilityChecker vc)
ObjectMapper El setVisibility() i la seva variació s'utilitzen per configurar el VisibilityChecker configurat actualment. La instància d'ObjectMapper retornada s'utilitza per comprovar si l'element de propietat donat es pot detectar automàticament o no.
treeAsTokens(TreeNode n) JsonParser S'utilitza per construir un JsonParser a partir de la representació d'arbre JSON.
treeToValue(TreeNode n, Class valueType) T S'utilitza per unir les dades que conté l'arbre JSON en un tipus de valor específic.
versió () Versió S'utilitza per obtenir la informació de la versió emmagatzemada i per llegir-la del jar que conté aquesta classe.
escriptor ()
  1. writer(Base64Variant defaultBase64)
  2. escriptor (El personatge s'escapa)
  3. escriptor (atributs de context)
  4. escriptor (Format de data df)
  5. escriptor (FilterProvider filterProvider)
  6. escriptor (esquema d'esquema de format)
  7. escriptor (PrettyPrinter pp)
  8. escriptor (funció de serialització)
  9. escriptor (primer la funció de serialització, la funció de serialització... un altre)
ObjectWriter El write() i les seves variacions s'utilitzen per construir ObjectWriter amb la configuració predeterminada, donada la variant de codificació Base64 per a dades binàries codificades en Base64, detalls d'escapament de caràcters per a la sortida, atributs predeterminats, DateFormat, proveïdor de filtres, objecte d'esquema a JsonGenerator utilitzat per escriure contingut, impressora bonica per a sagnat o funció habilitat.
writerFor(Tipus arrel de classe) - ObjectWriter S'utilitza per construir ObjectWriter per serialitzar els objectes utilitzant un tipus d'arrel especificat en lloc del tipus de valor d'execució real.
writerFor(JavaType rootType) ObjectWriter S'utilitza per construir ObjectWriter per serialitzar els objectes utilitzant un tipus d'arrel especificat en lloc del tipus de valor d'execució real.
writerFor(TypeReference rootType) ObjectWriter S'utilitza per construir ObjectWriter per serialitzar els objectes utilitzant un tipus d'arrel especificat en lloc del tipus de valor d'execució real.
writerWithDefaultPrettyPrinter() ObjectWriter És un mètode de fàbrica que s'utilitza per construir ObjectWriter per serialitzar els objectes utilitzant la impressora bastant predeterminada per al sagnat.
writerWithType (Tipus arrel de classe)
  1. writerWithType (Tipus arrel de classe)
  2. writerWithType(TypeReference rootType)
ObjectWriter Aquests mètodes s'amorteixen i, en comptes d'ells, utilitzem el mètode writerFor(TypeReference).
writerWithView(Vista de serialització de classes) ObjectWriter És un mètode de fàbrica que s'utilitza per construir ObjectWriter per serialitzar objectes mitjançant la vista JSON especificada.
writeTree(JsonGenerator jgen, JsonNode rootNode) buit S'utilitza per serialitzar l'arbre JSON proporcionat mitjançant el JsonGenerator donat.
writeValue(Fitxer resultatFile, valor de l'objecte) buit S'utilitza per serialitzar el valor de Java com a sortida JSON i escriure'l al donat dossier.
writeValue(JsonGenerator g, valor de l'objecte). buit S'utilitza per serialitzar els valors de Java com a sortida JSON utilitzant el donat JsonGenerator.
writeValue(OutputStream out, valor de l'objecte) buit S'utilitza per serialitzar el valor de Java com a sortida JSON utilitzant el donat OutputStream.
writeValue(Writer w, valor de l'objecte) buit S'utilitza per serialitzar els valors de Java com a sortida JSON utilitzant el donat Escriptor.
writeValueAsBytes (valor de l'objecte) byte[] S'utilitza per serialitzar valors Java com a matriu de bytes.
writeValueAsString(Valor de l'objecte) Corda S'utilitza per serialitzar valors Java com a cadena.

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

Sortida:

Classe ObjectMapper a Jackson