Classe ObjectMapper a Jackson

Classe ObjectMapper a Jackson

ObjectMapper è una delle classi più importanti disponibili in il Jackson biblioteca. Viene utilizzato per leggere e scrivere dati JSON. È responsabile della lettura dei dati da o verso il file POJO e da e verso un modello di albero JSON.

Esistono le seguenti caratteristiche della classe ObjectMapper:

  1. Supporta concetti avanzati come Polimorfismo E Riconoscimento degli oggetti.
  2. È molto personalizzabile per funzionare con diversi stili di contenuti JSON.
  3. Funziona come una fabbrica per l'avanzamento Lettore di oggetti E ObjectWriter classi.

La classe ObjectMapper è dichiarata nel modo seguente:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Classi nidificate

La tabella seguente definisce le classi che estendono la classe ObjectMapper o, si può dire, le classi nidificate della classe ObjectMapper.

Classe Descrizione
DefaultTypeResolverBuilder È un personalizzato DigitareResolverBuilder classe che viene utilizzata per ottenere i builder del risolutore di tipi, con cui possiamo utilizzare 'tipizzazione predefinita'.
Digitazione predefinita Per specificare il tipo di tipi, le enumerazioni vengono utilizzate con il metodo abilitaDefaultTyping().

Ora comprendiamo i campi, i costruttori e i metodi della classe ObjectMapper:

Campi della classe ObjectMapper

protected DefaultDeserializationContext _deserializationContext

È un oggetto di contesto del progetto archiviato per consentire sottoclassi personalizzate.

protected DeserializationConfig _deserializationConfig

È un oggetto di configurazione utilizzato per definire le impostazioni globali di base per il processo di deserializzazione.

protetto JsonFactory jsonFactory

Per creare un'istanza di JsonParser e JsonGenerator, viene utilizzato JsonFactory.

protetto InjectableValues ​​_injectableValues

È un provider utilizzato per inserire i valori nei POJO deserializzati.

protetto ConfigOverrides _propertyOverrides

Viene utilizzato per accedere alle sostituzioni della configurazione per tipo attualmente attive.

protetto SimpleMixInResolver _mixIns

Si tratta di una mappatura utilizzata per definire un modo di applicare le annotazioni mix-in. La mappatura viene effettuata nel seguente modo:

Chiave: Digita per ricevere ulteriori annotazioni.

Valore: Tipo con annotazioni da 'mescolare'

protetto Imposta _registeredModuleTypes

È un Set che definisce l'insieme dei tipi di modulo che sono stati registrati.

protetto SerializationConfig _serializationConfig

È anche un oggetto di configurazione utilizzato per definire le impostazioni globali di base per il processo di serializzazione.

protetto ConcurrentHashMap _rootDeserializers

È una mappa utilizzata per tenere traccia dei deserializzatori a livello di root. È una mappa di livello principale.

SerializerFactory protetto _serializerFactory

È una factory utilizzata per costruire i serializzatori.

protetto SubtypeResolver _subtypeResolver

Viene utilizzato per registrare i sottotipi e risolverli per super/sottotipi secondo necessità.

TypeFactory protetto _typeFactory

È una factory utilizzata per creare istanze JavaType. Sono necessari per consentire ai moduli di aggiungere una gestione dei tipi più personalizzata.

protected DefaultSerializerProvider _serializerProvider

È un oggetto responsabile della gestione dell'accesso ai serializzatori utilizzati per la serializzazione.

BaseSettings statici protetti DEFAULT_BASE

Si tratta di impostazioni di base che includono i valori predefiniti utilizzati per tutte le istanze di ObjectMapper.

Costruttori della classe ObjectMapper

Esistono i seguenti costruttori della classe ObjectMapper:

Costruttore Descrizione
MappatoreOggetti() È un costruttore predefinito utilizzato per costruire un'istanza che utilizza default JsonFactory, SerializerProvider, E BeanSerializerFactory.
ObjectMapper (fabbrica JsonFactory) Viene utilizzato per costruire un'istanza che utilizza la JsonFactory specificata. La JsonFactory specificata viene utilizzata per costruire JsonParsers e/o JsonGeneratori.
ObjectMapper (fabbrica JsonFactory, provider SerializerProvider1, provider DeserializerProvider2) Viene utilizzato per costruire un'istanza che utilizza il dato JsonFactory, SerializerProvider, E DeserializerProvider. La JsonFactory specificata viene utilizzata per costruire JsonParsers e/o JsonGeneratori.
ObjectMapper protetto (mapper ObjectMapper) È un costruttore di copie per supportare copy().

Metodi della classe ObjectMapper

La classe ObjectMapper definisce i seguenti metodi:

Metodo Tipo di reso Descrizione
_checkInvalidCopy(Espressione classe) vuoto Viene utilizzato per verificare la copia non valida.
_configAndWriteValue(JsonGenerator g, valore oggetto) vuoto Viene utilizzato per configurare il generatore quando necessario e quindi eseguire la funzionalità di scrittura.
_convert(Oggetto daValore, JavaType aValueType) Oggetto Viene utilizzato per ottenere l'effettiva implementazione della conversione. Qui, i metodi di lettura e scrittura non vengono utilizzati per il codice.
_initForReading(JsonParser p) JsonToken Viene utilizzato per garantire se il parser specificato è pronto per leggere il contenuto per l'associazione dei dati o meno.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer Per il valore passato a livello root, se vogliamo individuare il deserializzatore, utilizziamo questo metodo.
_newReader (configurazione DeserializationConfig)
Metodo simile:
  1. _newReader (configurazione DeserializationConfig, JavaType valueType, Object valueToUpdate, schema FormatSchema, InjectableValues ​​injectableValues)
Lettore di oggetti È un metodo factory, ovvero utilizzato per ottenere le istanze ObjectReader del sottotipo appropriato. Per poter utilizzare questo metodo è necessario che le sottoclassi abbiano l'override.
_newWriter(configurazione SerializationConfig)
Metodi simili:
  1. _newWriter(configurazione SerializationConfig, schema FormatSchema)
  2. _newWriter(configurazione SerializationConfig, JavaType rootType, PrettyPrinter pp)
ObjectWriter È un metodo factory, ovvero utilizzato per ottenere le istanze ObjectWriter del sottotipo appropriato. Per poter utilizzare questo metodo è necessario che le sottoclassi abbiano l'override.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) Oggetto Viene utilizzato per ottenere un oggetto che definisce la lettura del valore e l'operazione di associazione.
_serializerProvider(configurazione SerializationConfig) DefaultSerializerProvider Si tratta di un metodo helper sovrascrivibile utilizzato per costruire SerializerProvider.
accettaJsonFormatVisitor(tipo di classe, visitatore JsonFormatVisitorWrapper)
Metodo simile:
  1. accettaJsonFormatVisitor(tipo JavaType, visitatore JsonFormatVisitorWrapper)
vuoto
vuoto
Se vogliamo visitare la gerarchia dei tipi di un particolare tipo con il visitatore specificato, utilizziamo questo metodo.
addHandler(DeserializationProblemHandler h) ObjectMapper Per gestire problemi specifici durante la deserializzazione, utilizziamo un DeserializationProblemHandler specificato e per aggiungere il gestore utilizziamo questo metodo.
addMixIn(Obiettivo classe, Origine mixin classe) ObjectMapper Per utilizzare l'annotazione mista per la classe o l'interfaccia di ampliamento specificata, utilizziamo questo metodo per aggiungerla.
canDeserialize(tipo JavaType) Booleano Viene utilizzato per verificare se il mapper può deserializzare un oggetto di un tipo specificato o meno.
canDeserialize(tipo JavaType, causa AtomicReference) Booleano È simile al metodo precedente. L'unica differenza è che può restituire l'oggetto lanciabile lanciato al momento della costruzione del serializzatore. Il lancio può essere utilizzato per capire il problema reale.
canSerialize(tipo di classe) Booleano Viene utilizzato per verificare se il mapper può serializzare o meno un oggetto di un tipo specificato.
canSerialize(tipo di classe, causa AtomicReference) Booleano È simile al metodo precedente. L'unica differenza è che può restituire l'oggetto lanciabile lanciato al momento della costruzione del serializzatore. Il lancio può essere utilizzato per capire il problema reale.
clearProblemHandlers() ObjectMapper È uno dei metodi utilizzati per rimuovere tutte le istanze di DeserializationProblemHandlers registrate dal mapper.
configure(DeserializationFeature f, stato booleano)
metodi simili:
  1. configure(JsonGenerator.Feature f, stato booleano)
  2. configure(JsonParser.Feature f, stato booleano)
  3. configure(MapperFeature f, stato booleano)
  4. configure(SerializationFeature f, stato booleano)
ObjectMapper Viene utilizzato per modificare lo stato di una funzione di deserializzazione on/off, Json Generator, JsonParser, Mapper o Serializzazione per il mappatore di oggetti, le istanze del generatore, le istanze del parser, l'istanza del mapper o il mappatore di oggetti.
buildType(Digita t) JavaType Se vogliamo costruire JavaType da un dato tipo senza contesto esplicito, utilizziamo questo metodo.
convertValue(Oggetto daValore, Classe aTipoValore)
Metodi simili:
  1. convertValue(Oggetto daValue, JavaType aValueType)
T Se vogliamo eseguire una conversione in due passaggi di un dato valore in un'istanza di un dato tipo di valore, utilizziamo il metodo converValue().
createArrayNode() ArrayNode Viene utilizzato per creare ArrayNode.
defaultClassIntrospector() ClassIntrospector Se vogliamo utilizzare il ClassIntrospector predefinito, utilizziamo questo metodo helper Overridable per costruirlo.
disabilita (funzione DeserializationFeature)
Metodi simili:
  1. disabilita(DeserializationFeature prima, DeserializationFeature... f)
  2. disabilita (funzionalità JsonGenerator.Feature...)
  3. disabilita (funzionalità JsonParser.Feature...)
  4. disabilita(MapperFeature... f)
  5. disabilita(Funzione di serializzazione f)
  6. disattiva(SerializationFeature prima, SerializationFeature... f)
ObjectMapper Viene utilizzato per disabilitare determinati DeserializationConfig, JsonGenerator.Features per le istanze del parser, JsonParser.Features per le istanze del parser del mappatore di oggetti.
disabilitaDefaultTyping() ObjectMapper Molte volte dobbiamo disabilitare l'inclusione automatica delle informazioni sul tipo e, a questo scopo, utilizziamo questo metodo.
abilita (funzione DeserializationFeature)
  1. abilita(DeserializationFeature prima, DeserializationFeature... f)
  2. abilita (funzionalità JsonGenerator.Feature...)
    abilita (funzionalità JsonParser.Feature...)
  3. abilita(MapperFeature... f)
  4. abilita(Funzione di serializzazione f)
  5. abilita(SerializationFeature prima, SerializationFeature... f)
ObjectMapper Viene utilizzato per abilitare DeserializationConfig, JsonGenerator.Features per le istanze del parser, JsonParser.Features per le istanze del parser del mappatore di oggetti.
abilitaDefaultTyping()
Metodi simili:
  1. abilitaDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. abilitaDefaultTyping(applicabilità ObjectMapper.DefaultTyping, JsonTypeInfo.As includeAs)
  3. abilitaDefaultTypingAsProperty(applicabilità ObjectMapper.DefaultTyping, String propertyName)
ObjectMapper Per utilizzare l'inclusione automatica delle informazioni sul tipo per la deserializzazione dei tipi polimorfici, utilizziamo questo metodo per abilitarla.
findAndRegisterModules() ObjectMapper È simile al metodo mapper.registerModules(mapper.findModules()).
trovaModuli()
Metodi simili:
  1. findModules(ClassLoader classLoader)
Elenco Viene utilizzato per individuare i metodi disponibili. Il metodo utilizza la funzionalità JDK ServiceLoader con SPI fornita dal modulo.
getDateFormat() Formato data Viene utilizzato per ottenere il formato della data.
getDeserializationConfig() DeserializationConfig Viene utilizzato per ottenere l'oggetto DeserializationConfig condiviso predefinito. L'oggetto restituito definisce le impostazioni di configurazione per la deserializzazione.
getDeserializationContext() Contesto di deserializzazione Viene utilizzato per ottenere il DeserializationContext corrente.
getFabbrica() JsonFactory Se il mappatore deve costruire un parser Json e generatori, ha bisogno della json factory e per ottenerlo utilizziamo il metodo getFactory().
getInjectableValues() Valori iniettabili Viene utilizzato per ottenere valori iniettabili.
getJsonFactory() JsonFactory È un metodo deprecato per ottenere la factory Json.
getNodeFactory() JsonNodeFactory Viene utilizzato per ottenere la JsonNodeFactory utilizzata dal mapper al momento della costruzione diretta delle istanze JsonNode root per Trees.
getPropertyNamingStrategy() Strategia di denominazione delle proprietà Come suggerisce il nome, viene utilizzato per la strategia di denominazione della proprietà.
getSerializationConfig() SerializzazioneConfig Viene utilizzato per ottenere l'oggetto SerializationConfig predefinito condiviso. L'oggetto restituito definisce le impostazioni di configurazione per la serializzazione.
getSerializerFactory() SerializerFactory Viene utilizzato per ottenere l'attuale SerializerFactory.
getSerializerProvider() SerializerProvider Si tratta di una funzione di accesso per la factory, utilizzata per creare istanze chiamando DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() SerializerProvider Si tratta di una funzione di accesso utilizzata per costruire e restituire un'istanza di SerializerProvider, che possiamo utilizzare per accedere ai serializzatori.
getSubtypeResolver() SottotipoResolver Viene utilizzato per accedere al risolutore di sottotipi in uso.
getTypeFactory() TypeFactory È una funzione di accesso utilizzata per ottenere un'istanza della TypeFactory attualmente configurata.
getVisibilityChecker() Controllo visibilità Viene utilizzato per accedere al controllo della visibilità attualmente configurato.
èAbilitato(Funzione di deserializzazione f)
Metodi simili:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. èAbilitato(SerializationFeature f)
Booleano Il metodo isEnable() e le sue varianti vengono utilizzati per verificare se una determinata funzionalità specifica della deserializzazione, JsonFactory, JsonGenerator, JsonParser, Mapper o Serializzazione è abilitata o meno.
mixInCount() int Viene utilizzato per ottenere il conteggio di mixIn.
lettore()
Metodi simili:
  1. lettore (Base64Variante predefinitoBase64)
  2. lettore (tipo di classe)
  3. lettore(ContextAttributes attr)
  4. lettore (funzione DeserializationFeature)
  5. lettore (DeserializationFeature prima, DeserializationFeature... altro)
  6. lettore (schema FormatSchema)
  7. lettore (Valori iniettabili valori iniettabili)
  8. lettore (tipo JavaType)
  9. lettore(JsonNodeFactory f)
  10. lettore (tipo TypeReference)
Lettore di oggetti Il metodo reader() e le sue varianti sono i metodi factory utilizzati per costruire un'istanza di ObjectReader. In base ai requisiti, possiamo passare la variante di codifica Base64 per dati binari con codifica Base64, attributi predefiniti, funzionalità abilitate, valori iniettabili, JsonNodeFactory per la costruzione di alberi JSON.
readerFor(tipo di classe) Lettore di oggetti È un metodo factory utilizzato per costruire ObjectReader, consentendo operazioni di lettura o aggiornamento per istanze del tipo specificato.
readerFor(tipo JavaType) Lettore di oggetti È un metodo factory utilizzato per costruire ObjectReader, consentendo operazioni di lettura o aggiornamento per istanze di JavaType specificato.
readerFor(tipo TypeReference) Lettore di oggetti È un metodo factory utilizzato per costruire ObjectReader, consentendo operazioni di lettura o aggiornamento per istanze di un determinato TypeReference.
readerForUpdating(Valore oggettoToUpdate) Lettore di oggetti È un metodo factory utilizzato per costruire ObjectReader consentendo operazioni di aggiornamento per un determinato oggetto.
readerWithView(vista classe) Lettore di oggetti È un metodo factory utilizzato per costruire ObjectReader, consentendo
deserializzazione di oggetti con una determinata vista JSON.
readTree(byte[] contenuto)
  1. readTree(File file)
  2. readTree(InputStream in)
  3. readTree(JsonParser p)
  4. readTree(Lettore r)
  5. readTree(Contenuto stringa)
  6. readTree(fonte URL)
JsonNode
O
T
readTree() e le sue varianti vengono utilizzate per deserializzare il contenuto JSON come un albero espresso utilizzando un set di istanze JsonNode.
readValue(byte[] src, Classe valueType)
Metodi simili
  1. readValue(byte[] src, int offset, int len, JavaType valueType)
  2. readValue(byte[] src, int offset, int len, Classe valueType)
  3. readValue(byte[] src, JavaType valueType)
  4. readValue(origine input dati, tipo valore classe)
  5. readValue(origine file, tipo valore classe)
  6. readValue(DataInput src, JavaType valueType)
  7. readValue(File origine, JavaType valueType)
  8. readValue(File origine, TipoRiferimento valoreTipoRef)
  9. readValue(InputStream src, JavaType valueType)
  10. readValue(byte[] src, TypeReference valoreTypeRef)
  11. readValue(origine InputStream, tipo valore classe)
  12. readValue(InputStream src, TypeReference valoreTypeRef)
  13. readValue(JsonParser p, JavaType valueType)
  14. readValue(JsonParser p, Classe valueType)
  15. readValue(JsonParser p, ResolvedType valueType)
  16. readValue(byte[] src, int offset, int len, TypeReference valueTypeRef)
  17. readValue(Origine lettore, Valore TypeReferenceTypeRef)
  18. readValue(JsonParser p, TypeReference valoreTypeRef)
  19. readValue(Origine lettore, JavaType valueType)
  20. readValue(Contenuto stringa, TypeReference valoreTypeRef)
  21. readValue(Origine lettore, Tipo valore classe)
  22. readValue(Contenuto stringa, Tipo valore classe)
  23. readValue(Contenuto stringa, JavaType valueType)
  24. readValue(URL origine, TypeReference valoreTypeRef)readValue(URL origine, Classe valueType)
  25. readValue(URL origine, JavaType valueType)
T
O
MappingIterator
readValue() e le sue varianti vengono utilizzate per deserializzare il contenuto JSON
  1. Dal file specificato a un tipo Java specificato, a un tipo non contenitore o a un riferimento al tipo Java a cui viene passato come argomento.
  2. Dal contenuto JSON specificato in String.
  3. Dalla risorsa data al tipo Java dato.
Vengono utilizzate varianti in base a requisiti diversi.
readValues(JsonParser p, Classe valueType)
Metodi simili:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator readValues() e le sue varianti vengono utilizzate per leggere la sequenza di oggetti dal flusso del parser.
RegisterModule(Modulo modulo)
Metodi simili:
  1. RegisterModules(Moduli iterabili)
  2. RegisterModules(Modulo... moduli)
ObjectMapper RegisterModule() e le sue varianti vengono utilizzate per registrare un modulo avente la capacità di estendere le funzionalità fornite dal mapper.
RegisterSubtypes(Tipi NamedType...) vuoto Viene utilizzato per registrare la classe data come sottotipo. In questo modo, la risoluzione basata sul nome del tipo può collegare i supertipi ai sottotipi.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper Viene utilizzato per impostare AnnotationIntrospector, che viene utilizzato dall'istanza del mapper sia per la serializzazione che per la deserializzazione.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper Viene utilizzato per modificare l'istanza di AnnotationIntrospector utilizzata dall'istanza corrente del mapper per la serializzazione e la deserializzazione.
setBase64Variante(Base64Variante v) ObjectMapper Viene utilizzato per configurare la Base64Variant predefinita che verrà utilizzata dai serializzatori e deserializzatori byte[].
setConfig(Configurazione DeserializationConfig) ObjectMapper Per eseguire l'override dell'oggetto DeserializationConfig sottostante, utilizziamo questo metodo.
setConfig(Configurazione SerializationConfig) ObjectMapper Per eseguire l'override dell'oggetto SerializationConfig sottostante con impostazioni di configurazione specifiche della serializzazione, utilizziamo questo metodo.
setDateFormat(DateFormat dataFormat) ObjectMapper Viene utilizzato per configurare il DateFormat predefinito per utilizzarlo al momento della serializzazione dei valori temporali come stringhe o della deserializzazione da stringhe JSON.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper Viene utilizzato per specificare PrettyPrinter da utilizzare quando è abilitata la 'pretty-printing predefinita'.
setDefaultTyping(tipo TypeResolverBuilder) ObjectMapper Viene utilizzato per abilitare l'inclusione automatica delle informazioni sul tipo.
setHandlerInstantiator(HandlerInstantiator ciao) Oggetto Viene utilizzato per configurare HandlerInstantiator da utilizzare per la creazione di istanze di gestori.
setFilterProvider(FilterProvider filterProvider) ObjectMapper Viene utilizzato per configurare il mappatore corrente per utilizzare il FilterProvider specificato per mappare gli ID filtro alle istanze effettive del filtro.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper Viene utilizzato per configurare InjectableValues ​​che viene utilizzato per trovare valori da iniettare.
setLocale(Locale l) ObjectMapper Viene utilizzato per sovrascrivere la locale predefinita da utilizzare per la formattazione.
setMixInResolver(Risoluzione ClassIntrospector.MixInResolver) ObjectMapper Utilizziamo questo metodo per specificare il risolutore fornito per individuare le classi mix-in da utilizzare, sovrascrivendo le mappature aggiunte direttamente.
setMixInAnnotations(Map fonteMixins) vuoto Si tratta di un metodo ormai obsoleto per definire l'annotazione mix-in.
setNodeFactory(JsonNodeFactory f) ObjectMapper Viene utilizzato per specificare JsonNodeFactory da utilizzare per costruire nodi dell'albero a livello root.
setMixIns(Mappa fonteMixins) ObjectMapper Viene utilizzato per definire le annotazioni combinate da utilizzare per aumentare le annotazioni delle classi elaborabili.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper Viene utilizzato per impostare la strategia di inclusione della proprietà POJO predefinita per la serializzazione.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper Viene utilizzato per impostare la strategia di denominazione delle proprietà personalizzate da utilizzare.
setSerializerFactory(SerializerFactory f) ObjectMapper Viene utilizzato per impostare la SerializerFactory specifica da utilizzare per la costruzione di serializzatori (bean).
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper Viene utilizzato per impostare l'istanza SerializerProvider 'progetto' da utilizzare come base per le istanze effettive del provider da utilizzare per gestire la memorizzazione nella cache delle istanze JsonSerializer.
setSubtypeResolver(SubtypeResolver str) ObjectMapper Viene utilizzato per impostare il risolutore di sottotipi personalizzato da utilizzare.
setTimeZone(TimeZone tz) ObjectMapper Viene utilizzato per sovrascrivere il fuso orario predefinito da utilizzare per la formattazione.
setTypeFactory(TypeFactory f) ObjectMapper Viene utilizzato per sovrascrivere l'istanza TypeFactory, utilizzata dal mapper corrente.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibilità)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper setVisibility() e la sua variazione vengono utilizzati per impostare il VisibilityChecker attualmente configurato. L'istanza ObjectMapper restituita viene utilizzata per verificare se l'elemento proprietà specificato può essere rilevato automaticamente o meno.
treeAsTokens(TreeNode n) JsonParser Viene utilizzato per costruire un JsonParser dalla rappresentazione dell'albero JSON.
treeToValue(TreeNode n, Classe valueType) T Viene utilizzato per associare i dati contenuti nell'albero JSON in un tipo di valore specifico.
versione() Versione Viene utilizzato per ottenere le informazioni sulla versione archiviate e lette dal jar che contiene questa classe.
scrittore()
  1. scrittore(Base64Variant defaultBase64)
  2. scrittore(CharacterEscapes scappa)
  3. scrittore(ContextAttributes attr)
  4. scrittore(DateFormat df)
  5. scrittore(FilterProvider filterProvider)
  6. scrittore (schema FormatSchema)
  7. scrittore (PrettyPrinter pp)
  8. scrittore (funzione SerializationFeature)
  9. scrittore (SerializationFeature prima, SerializationFeature... altro)
ObjectWriter write() e le sue varianti vengono utilizzate per costruire ObjectWriter con impostazioni predefinite, data la variante di codifica Base64 per dati binari con codifica Base64, dettagli di escape dei caratteri per l'output, attributi predefiniti, DateFormat, provider di filtri, oggetto schema su JsonGenerator utilizzato per scrivere contenuto, bella stampante per rientranza o funzionalità abilitata.
writerFor(Classe rootType) - ObjectWriter Viene utilizzato per costruire ObjectWriter per serializzare gli oggetti utilizzando un tipo root specificato invece del tipo di valore effettivo di runtime.
scrittoreFor(TipoJavarootTipo) ObjectWriter Viene utilizzato per costruire ObjectWriter per serializzare gli oggetti utilizzando un tipo root specificato invece del tipo di valore effettivo di runtime.
writerFor(TipoRiferimento rootType) ObjectWriter Viene utilizzato per costruire ObjectWriter per serializzare gli oggetti utilizzando un tipo root specificato invece del tipo di valore effettivo di runtime.
writerWithDefaultPrettyPrinter() ObjectWriter È un metodo factory utilizzato per costruire ObjectWriter per serializzare gli oggetti utilizzando la stampante predefinita per il rientro.
writerWithType(Classe rootType)
  1. writerWithType(Classe rootType)
  2. writerWithType(TypeReference rootType)
ObjectWriter Questi metodi sono ammortizzati e al loro posto utilizziamo il metodo writerFor(TypeReference).
writerWithView(Class serializationView) ObjectWriter È un metodo factory utilizzato per costruire ObjectWriter per serializzare oggetti utilizzando la vista JSON specificata.
writeTree(JsonGenerator jgen, JsonNode rootNode) vuoto Viene utilizzato per serializzare l'albero JSON fornito utilizzando il JsonGenerator specificato.
writeValue(File risultatoFile, Valore oggetto) vuoto Viene utilizzato per serializzare il valore Java come output JSON e scriverlo nel file data file.
writeValue(JsonGenerator g, valore oggetto). vuoto Viene utilizzato per serializzare i valori Java come output JSON utilizzando il file data JsonGenerator.
writeValue(OutputStream out, Valore oggetto) vuoto Viene utilizzato per serializzare il valore Java come output JSON utilizzando il valore specificato OutputStream.
writeValue(Scrittore w, Valore oggetto) vuoto Viene utilizzato per serializzare i valori Java come output JSON utilizzando il file data Scrittore.
writeValueAsBytes(Valore oggetto) byte[] Viene utilizzato per serializzare i valori Java come array di byte.
writeValueAsString(valore oggetto) Corda Viene utilizzato per serializzare i valori Java come stringa.

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

Produzione:

Classe ObjectMapper a Jackson