Classe ObjectMapper em Jackson

Classe ObjectMapper em Jackson

ObjectMapper é uma das classes mais importantes disponíveis em o Jackson biblioteca. É usado para ler e gravar dados JSON. É responsável pela leitura de dados de ou para um arquivo POJO e de e para um modelo de árvore JSON.

Existem as seguintes características da classe ObjectMapper:

  1. Ele suporta conceitos avançados como Polimorfismo e Reconhecimento de objeto.
  2. É muito personalizável trabalhar com diferentes estilos de conteúdo JSON.
  3. Funciona como uma fábrica para o avanço Leitor de objetos e Escritor de objetos Aulas.

A classe ObjectMapper é declarada da seguinte maneira:



 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

Classes aninhadas

A tabela a seguir define as classes que estendem a classe ObjectMapper ou, pode-se dizer, classes aninhadas da classe ObjectMapper.

Aula Descrição
DefaultTypeResolverBuilder É um personalizado TipoResolverBuilder classe que é usada para obter os construtores do resolvedor de tipo, que podemos usar com 'digitação padrão'.
Digitação padrão Para especificar o tipo de tipos, enumerações são usadas com o método enableDefaultTyping().

Agora, vamos entender os campos, construtores e métodos da classe ObjectMapper:

Campos da classe ObjectMapper

protected DefaultDeserializationContext _deserializationContext

É um objeto de contexto de blueprint armazenado para permitir subclasses personalizadas.

protected DeserializationConfig _deserializationConfig

É um objeto de configuração usado para definir as configurações globais básicas para o processo de desserialização.

JsonFactory protegido jsonFactory

Para criar uma instância de JsonParser e JsonGenerator, JsonFactory é usado.

InjectableValues ​​protegidos _injectableValues

É um provedor usado para injetar os valores em POJOs desserializados.

ConfigOverrides protegidos _propertyOverrides

É usado para acessar as substituições de configuração por tipo atualmente ativas.

SimpleMixInResolver protegido _mixIns

É um mapeamento usado para definir uma forma de aplicar anotações mix-in. O mapeamento é feito da seguinte maneira:

Chave: Digite para receber anotações adicionais.

Valor: Tipo que possui anotações para 'misturar'

conjunto protegido _registeredModuleTypes

É um Conjunto que define o conjunto de tipos de módulos que foram cadastrados.

SerializationConfig protegido _serializationConfig

É também um objeto de configuração usado para definir as configurações globais básicas para o processo de serialização.

ConcurrentHashMap protegido _rootDeserializadores

É um mapa usado para rastrear desserializadores de nível raiz. É um mapa de nível principal.

SerializerFactory protegido _serializerFactory

É uma fábrica usada para construir os serializadores.

SubtypeResolver protegido _subtypeResolver

É usado para registrar subtipos e resolvê-los para super/subtipos conforme necessário.

TypeFactory protegido _typeFactory

É uma fábrica usada para criar instâncias JavaType. Eles são necessários para permitir que os módulos adicionem mais manipulação de tipos personalizados.

protected DefaultSerializerProvider _serializerProvider

É um objeto responsável por gerenciar o acesso aos serializadores utilizados para serialização.

BaseSettings estáticos protegidos DEFAULT_BASE

São configurações básicas que incluem padrões usados ​​para todas as instâncias do ObjectMapper.

Construtores da classe ObjectMapper

Existem os seguintes construtores da classe ObjectMapper:

Construtor Descrição
ObjectMapper() É um construtor padrão usado para construir uma instância que usa padrão JsonFactory, SerializerProvider, e BeanSerializerFactory.
ObjectMapper (fábrica JsonFactory) É usado para construir uma instância que usa o JsonFactory fornecido. O JsonFactory fornecido é usado para construir JsonParsers e/ou Geradores Json.
ObjectMapper (fábrica JsonFactory, provedor SerializerProvider1, provedor DeserializerProvider2) É usado para construir uma instância que usa o dado JsonFactory, SerializerProvider, e DeserializerProvider. O JsonFactory fornecido é usado para construir JsonParsers e/ou Geradores Json.
ObjectMapper protegido (mapeador ObjectMapper) É um construtor de cópia para suportar copy().

Métodos da classe ObjectMapper

A classe ObjectMapper define os seguintes métodos:

Método Tipo de retorno Descrição
_checkInvalidCopy(Classe exp) vazio É usado para verificar cópias inválidas.
_configAndWriteValue(JsonGenerator g, valor do objeto) vazio É utilizado para configurar o gerador quando necessário e então executar a funcionalidade de gravação.
_convert(Objeto deValue, JavaType paraValueType) Objeto É usado para obter a implementação real da conversão. Aqui, os métodos de leitura e gravação não são usados ​​para o código.
_initForReading(JsonParserp) JSONToken É usado para garantir se o analisador fornecido está pronto para ler o conteúdo para ligação de dados ou não.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer Para o valor de nível raiz passado, se quisermos localizar o desserializador, usamos este método.
_newReader(configuração DeserializationConfig)
Método semelhante:
  1. _newReader (configuração DeserializationConfig, JavaType valueType, Object valueToUpdate, esquema FormatSchema, InjectableValues ​​injectableValues)
Leitor de objetos É um método de fábrica, ou seja, usado para obter as instâncias de ObjectReader do subtipo adequado. Para utilizar este método, é necessário que as subclasses sejam substituídas.
_newWriter (configuração SerializationConfig)
Métodos semelhantes:
  1. _newWriter (configuração SerializationConfig, esquema FormatSchema)
  2. _newWriter (configuração SerializationConfig, JavaType rootType, PrettyPrinter pp)
Escritor de objetos É um método de fábrica, ou seja, usado para obter as instâncias do ObjectWriter do subtipo adequado. Para utilizar este método, é necessário que as subclasses sejam substituídas.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) Objeto É usado para obter um objeto que define a operação de leitura e vinculação de valores.
_serializerProvider(configuraçãoSerializationConfig) DefaultSerializerProvider É um método auxiliar substituível usado para construir SerializerProvider.
aceitarJsonFormatVisitor (tipo de classe, visitante JsonFormatVisitorWrapper)
Método semelhante:
  1. aceitarJsonFormatVisitor (tipo JavaType, visitante JsonFormatVisitorWrapper)
vazio
vazio
Se quisermos visitar a hierarquia de tipos de um tipo específico com o visitante especificado, usamos este método.
addHandler(DesserializaçãoProblemHandler h) ObjectMapper Para lidar com problemas especificados durante a desserialização, usamos um DeserializationProblemHandler especificado e, para adicionar o manipulador, usamos este método.
addMixIn(alvo da classe, classe mixinSource) ObjectMapper Para usar a anotação mix-in para uma classe ou interface de aumento especificada, usamos este método para adicioná-la.
canDeserialize(tipo JavaType) boleano É usado para verificar se o mapeador pode desserializar um objeto de um tipo especificado ou não.
canDeserialize(tipo JavaType, causa AtomicReference) boleano É semelhante ao método anterior. A única diferença é que ele pode retornar o jogável que foi lançado no momento da construção do serializador. O lançável pode ser usado para descobrir o problema real.
canSerialize (tipo de classe) boleano É usado para verificar se o mapeador pode serializar um objeto de um tipo especificado ou não.
canSerialize(Tipo de classe, causa AtomicReference) boleano É semelhante ao método anterior. A única diferença é que ele pode retornar o jogável que foi lançado no momento da construção do serializador. O lançável pode ser usado para descobrir o problema real.
limparProblemHandlers() ObjectMapper É um dos métodos usados ​​​​para remover todas as instâncias de DeserializationProblemHandlers do mapeador que estão registradas.
configure(DeserializationFeature f, estado booleano)
métodos semelhantes:
  1. configure(JsonGenerator.Feature f, estado booleano)
  2. configure(JsonParser.Feature f, estado booleano)
  3. configure(MapperFeature f, estado booleano)
  4. configure(SerializationFeature f, estado booleano)
ObjectMapper Ele é usado para alterar o estado de uma desserialização ativada/desativada, gerador Json, JsonParser, mapeador ou recurso de serialização para o mapeador de objetos, instâncias de gerador, instâncias de analisador, instância de mapeador ou mapeador de objetos.
construtorType(Tipo t) JavaType Se quisermos construir JavaType a partir de um determinado tipo sem contexto explícito, usamos este método.
convertValue(Objeto fromValue, Classe toValueType)
Métodos semelhantes:
  1. convertValue(Objeto deValue, JavaType paraValueType)
T Se quisermos realizar uma conversão em duas etapas de um determinado valor em uma instância de um determinado tipo de valor, usamos o método converValue().
criarArrayNode() ArrayNode É usado para criar ArrayNode.
defaultClassIntrospector() ClasseIntrospector Se quisermos usar o ClassIntrospector padrão, usaremos este método auxiliar Overridable para construí-lo.
desativar (recurso DeserializationFeature)
Métodos semelhantes:
  1. desativar (DeserializationFeature primeiro, DeserializationFeature... f)
  2. desativar (JsonGenerator.Feature... recursos)
  3. desabilitar (JsonParser.Feature... recursos)
  4. desabilitar(MapperFeature...f)
  5. desativar (SerializationFeature f)
  6. desativar (SerializationFeature primeiro, SerializationFeature... f)
ObjectMapper É usado para desabilitar DeserializationConfig, JsonGenerator.Features para instâncias do analisador, JsonParser.Features para instâncias do analisador do mapeador de objetos.
desativarDefaultTyping() ObjectMapper Muitas vezes, precisamos desabilitar a inclusão automática de informações de tipo, e para isso utilizamos este método.
ativar (recurso DeserializationFeature)
  1. enable(DeserializationFeature primeiro, DeserializationFeature... f)
  2. ativar (JsonGenerator.Feature... recursos)
    ativar (JsonParser.Feature... recursos)
  3. ativar(MapperFeature...f)
  4. habilitar(SerializaçãoFeature f)
  5. enable(SerializationFeature primeiro, SerializationFeature... f)
ObjectMapper Ele é usado para habilitar o DeserializationConfig fornecido, JsonGenerator.Features para instâncias do analisador, JsonParser.Features para instâncias do analisador do mapeador de objetos.
enableDefaultTyping()
Métodos semelhantes:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping (aplicabilidade ObjectMapper.DefaultTyping, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(aplicabilidade ObjectMapper.DefaultTyping, String propertyName)
ObjectMapper Para usar a inclusão automática de informações de tipo para desserialização de tipos polimórficos, usamos este método para habilitá-la.
findAndRegisterModules() ObjectMapper É semelhante ao método mapper.registerModules(mapper.findModules()).
encontrarMódulos()
Métodos semelhantes:
  1. findModules(ClassLoaderclassLoader)
Lista É usado para localizar métodos disponíveis. O método usa o recurso JDK ServiceLoader com SPI fornecido pelo módulo.
getDateFormat() Formato de data É usado para obter o formato da data.
getDeserializationConfig() DesserializaçãoConfig É usado para obter o objeto DeserializationConfig padrão compartilhado. O objeto retornado define as definições de configuração para desserialização.
getDeserializationContext() DesserializaçãoContexto É usado para obter o DeserializationContext atual.
getFábrica() JsonFábrica Se o mapeador precisa construir um analisador e geradores Json, ele precisa de uma fábrica json e, para conseguir isso, usamos o método getFactory().
getInjectableValues() Valores Injetáveis É usado para obter valores injetáveis.
getJsonFactory() JsonFábrica É um método obsoleto para obter a fábrica Json.
getNodeFactory() JsonNodeFactory Ele é usado para obter o JsonNodeFactory que é usado pelo mapeador no momento da construção direta de instâncias JsonNode raiz para árvores.
getPropertyNamingStrategy() PropertyNamingStrategy Como o nome indica, está habituado à estratégia de nomenclatura do imóvel.
getSerializationConfig() SerializaçãoConfig É usado para obter o objeto SerializationConfig padrão compartilhado. O objeto retornado define as definições de configuração para serialização.
getSerializerFactory() Fábrica de serializadores É usado para obter o SerializerFactory atual.
getSerializerProvider() SerializerProvider É um acessador da fábrica, que é usado para criar instâncias chamando DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() SerializerProvider É um acessador usado para construir e retornar uma instância do SerializerProvider, que podemos usar para acessar serializadores.
getSubtypeResolver() SubtypeResolver É usado para acessar o resolvedor de subtipo em uso.
getTypeFactory() TipoFábrica É um acessador usado para obter uma instância do TypeFactory atualmente configurado.
getVisibilityChecker() Verificador de Visibilidade É usado para acessar o verificador de visibilidade atualmente configurado.
isEnabled (DesserializaçãoFeature f)
Métodos semelhantes:
  1. isEnabled (JsonFactory.Feature f)
  2. isEnabled (JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Featuref)
  4. isEnabled (MapperFeature f)
  5. isEnabled (SerializationFeature f)
boleano O método isEnable() e suas variações são usados ​​para verificar se determinado recurso específico de desserialização, JsonFactory, JsonGenerator, JsonParser, Mapper ou Serialization está habilitado ou não.
mixInCount() interno É usado para obter a contagem do mixIn.
leitor()
Métodos semelhantes:
  1. leitor (Base64Variant defaultBase64)
  2. leitor (tipo de classe)
  3. leitor (atributos de ContextAttributes)
  4. leitor (recurso DeserializationFeature)
  5. leitor (DeserializationFeature primeiro, DeserializationFeature... outro)
  6. leitor (esquema FormatSchema)
  7. leitor(InjectableValues ​​injectableValues)
  8. leitor (tipo JavaType)
  9. leitor (JsonNodeFactory f)
  10. leitor (tipo TypeReference)
Leitor de objetos O método reader() e suas variações são os métodos de fábrica usados ​​para construir uma instância do ObjectReader. Com base no requisito, podemos passar a variante de codificação Base64 para dados binários codificados em Base64, atributos padrão, recursos habilitados, valores injetáveis, JsonNodeFactory para construção de árvores JSON.
leitorFor (tipo de classe) Leitor de objetos É um método de fábrica usado para construir ObjectReader, permitindo operações de leitura ou atualização para instâncias do tipo especificado.
leitorFor (tipo JavaType) Leitor de objetos É um método de fábrica usado para construir ObjectReader, permitindo operações de leitura ou atualização para instâncias de JavaType especificado.
leitorFor (tipo TypeReference) Leitor de objetos É um método de fábrica usado para construir ObjectReader, permitindo operações de leitura ou atualização para instâncias de um determinado TypeReference.
leitorForUpdating (objeto valorToUpdate) Leitor de objetos É um método de fábrica usado para construir ObjectReader permitindo operações de atualização para um determinado objeto.
readerWithView (visualização de classe) Leitor de objetos É um método de fábrica usado para construir ObjectReader, permitindo
desserialização de objetos com determinada visualização JSON.
readTree(byte[] conteúdo)
  1. readTree (arquivo arquivo)
  2. readTree(InputStream em)
  3. readTree(JsonParserp)
  4. readTree(Leitor r)
  5. readTree (conteúdo da string)
  6. readTree (fonte do URL)
JSONNode
OU
T
O readTree() e suas variações são usados ​​para desserializar o conteúdo JSON como uma árvore expressa usando um conjunto de instâncias JsonNode.
readValue(byte[] src, classe valueType)
Métodos semelhantes
  1. readValue (byte [] src, int offset, int len, JavaType valueType)
  2. readValue(byte[] src, deslocamento interno, int len, classe valueType)
  3. readValue(byte[] src, JavaType valueType)
  4. readValue(DataInput src, classe valueType)
  5. readValue(Arquivo src, Classe valueType)
  6. readValue(DataInput src, JavaType valueType)
  7. readValue (Arquivo src, JavaType valueType)
  8. readValue (Arquivo src, valor TypeReferenceTypeRef)
  9. readValue(InputStream src, JavaType valueType)
  10. readValue(byte[] src, valor TypeReferenceTypeRef)
  11. readValue (InputStream src, classe valueType)
  12. readValue(InputStream src, TypeReference valorTypeRef)
  13. readValue(JsonParser p, JavaType valueType)
  14. readValue(JsonParser p, classe valueType)
  15. readValue(JsonParser p, ResolvedType valueType)
  16. readValue(byte[] src, deslocamento interno, int len, valor TypeReferenceTypeRef)
  17. readValue (leitor src, valor TypeReferenceTypeRef)
  18. readValue (JsonParser p, valor TypeReferenceTypeRef)
  19. readValue(Leitor src, JavaType valueType)
  20. readValue (conteúdo da string, valor TypeReferenceTypeRef)
  21. readValue(leitor src, classe valueType)
  22. readValue (conteúdo da string, classe valueType)
  23. readValue (conteúdo da string, JavaType valueType)
  24. readValue(URL src, TypeReference valueTypeRef)readValue(URL src, classe valueType)
  25. readValue(URL src, JavaType valueType)
T
OU
MapeamentoIterador
O readValue() e suas variações são usados ​​para desserializar o conteúdo JSON
  1. Do arquivo fornecido para um determinado tipo Java, para um tipo não-contêiner ou para uma referência de tipo Java para a qual é passado como argumento.
  2. Do conteúdo JSON fornecido para String.
  3. De determinado recurso para determinado tipo Java.
Variações são usadas com base em diferentes requisitos.
readValues(JsonParser p, classe valueType)
Métodos semelhantes:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MapeamentoIterador O readValues() e suas variações são usados ​​para ler a sequência de objetos do fluxo do analisador.
registrarModule (módulo do módulo)
Métodos semelhantes:
  1. registrarModules (módulos iteráveis)
  2. registrarModules(Módulo... módulos)
ObjectMapper O RegisterModule() e suas variações são usados ​​para registrar um módulo que tem a capacidade de estender a funcionalidade fornecida pelo mapeador.
registrarSubtypes(NamedType... tipos) vazio É usado para registrar a classe fornecida como um subtipo. Ao fazer isso, a resolução baseada em nome de tipo pode vincular supertipos a subtipos.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper É usado para definir AnnotationIntrospector, que é usado pela instância do mapeador para serialização e desserialização.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper É usado para alterar a instância do AnnotationIntrospector usada pela instância do mapeador atual para serialização e desserialização.
setBase64Variante(Base64Variante v) ObjectMapper É usado para configurar o Base64Variant padrão que será usado pelos serializadores e desserializadores byte[].
setConfig(configuração DeserializationConfig) ObjectMapper Para realizar a substituição do objeto DeserializationConfig subjacente, usamos este método.
setConfig(configuração de serializaçãoconfig) ObjectMapper Para realizar a substituição do objeto SerializationConfig subjacente com configurações específicas de serialização, usamos este método.
setDateFormat(DateFormatdateFormat) ObjectMapper É usado para configurar o DateFormat padrão para usá-lo no momento de serializar valores de tempo como Strings ou desserializar de Strings JSON.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper É usado para especificar o PrettyPrinter para usá-lo quando a 'impressão bonita padrão' estiver habilitada.
setDefaultTyping (digitador TypeResolverBuilder) ObjectMapper É utilizado para permitir a inclusão automática de informações de tipo.
setHandlerInstantiator(HandlerInstantiator oi) Objeto É usado para configurar HandlerInstantiator para uso na criação de instâncias de manipuladores.
setFilterProvider(FilterProvider filterProvider) ObjectMapper Ele é usado para configurar o mapeador atual para usar FilterProvider especificado para mapear IDs de filtro para instâncias de filtro reais.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper É usado para configurar InjectableValues, que é usado para encontrar valores a serem injetados.
setLocale(Locall) ObjectMapper É usado para substituir o código de idioma padrão a ser usado para formatação.
setMixInResolver (resolver ClassIntrospector.MixInResolver) ObjectMapper Usamos este método para especificar o resolvedor fornecido para localizar classes mixadas a serem usadas, substituindo os mapeamentos adicionados diretamente.
setMixInAnnotations(Mapa fonteMixins) vazio É um método obsoleto para definir a anotação mix-in.
setNodeFactory(JsonNodeFactory f) ObjectMapper É usado para especificar JsonNodeFactory a ser usado na construção de nós de árvore no nível raiz.
setMixIns(Mapa fonteMixins) ObjectMapper É usado para definir as anotações combinadas a serem usadas para aumentar as anotações que as classes processáveis ​​possuem.
setPropertyInclusão(JsonInclude.Value incl) ObjectMapper É usado para definir a estratégia de inclusão de propriedade POJO padrão para serialização.
setPropertyNamingStrategy(PropertyNamingStrategys) ObjectMapper Ele é usado para definir a estratégia de nomenclatura de propriedade customizada a ser usada.
setSerializerFactory(SerializerFactory f) ObjectMapper É usado para definir o SerializerFactory específico a ser usado na construção de serializadores (bean).
setSerializerProvider(DefaultSerializerProviderp) ObjectMapper Ele é usado para definir a instância SerializerProvider 'blueprint' para usá-la como base para instâncias reais do provedor a serem usadas para lidar com o cache de instâncias JsonSerializer.
setSubtypeResolver(SubtypeResolverstr) ObjectMapper É usado para definir o resolvedor de subtipo personalizado a ser usado.
setTimeZone(TimeZone tz) ObjectMapper É usado para substituir o fuso horário padrão a ser usado para formatação.
setTypeFactory(TypeFactory f) ObjectMapper É usado para substituir a instância TypeFactory, que é usada pelo mapeador atual.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibilidade)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper O setVisibility() e sua variação são usados ​​para definir o VisibilityChecker atualmente configurado. A instância retornada do ObjectMapper é usada para verificar se o elemento de propriedade fornecido pode ser detectado automaticamente ou não.
treeAsTokens(TreeNoden) JsonParser É usado para construir um JsonParser a partir da representação da árvore JSON.
treeToValue (TreeNode n, classe valueType) T Ele é usado para vincular os dados que a árvore JSON contém em um tipo de valor específico.
versão() Versão É usado para obter as informações da versão armazenadas e lidas no jar que contém esta classe.
escritor()
  1. escritor (Base64Variant padrãoBase64)
  2. escritor(CharacterEscapes escapa)
  3. escritor (atributos de ContextAttributes)
  4. escritor (DateFormat df)
  5. escritor(FilterProvider filterProvider)
  6. escritor (esquema FormatSchema)
  7. escritor (PrettyPrinter pp)
  8. escritor (recurso SerializationFeature)
  9. escritor (SerializationFeature primeiro, SerializationFeature... outro)
Escritor de objetos O write() e suas variações são usados ​​para construir ObjectWriter com configurações padrão, dada a variante de codificação Base64 para dados binários codificados em Base64, detalhes de escape de caracteres para saída, atributos padrão, DateFormat, provedor de filtro, objeto de esquema para JsonGenerator usado para escrever conteúdo, impressora bonita para recuo ou recurso habilitado.
escritorFor (Classe rootType) - Escritor de objetos Ele é usado para construir ObjectWriter para serializar os objetos usando um tipo de raiz especificado em vez do tipo de valor de tempo de execução real.
escritorFor(JavaType rootType) Escritor de objetos Ele é usado para construir ObjectWriter para serializar os objetos usando um tipo de raiz especificado em vez do tipo de valor de tempo de execução real.
escritorFor (TypeReference rootType) Escritor de objetos Ele é usado para construir ObjectWriter para serializar os objetos usando um tipo de raiz especificado em vez do tipo de valor de tempo de execução real.
escritorWithDefaultPrettyPrinter() Escritor de objetos É um método de fábrica usado para construir ObjectWriter para serializar os objetos usando a impressora bastante padrão para recuo.
escritorWithType(Classe rootType)
  1. escritorWithType(Classe rootType)
  2. escritorWithType(TypeReference rootType)
Escritor de objetos Esses métodos estão depreciados e, em vez deles, usamos o métodowriterFor(TypeReference).
escritorWithView (classe serializaçãoView) Escritor de objetos É um método de fábrica usado para construir ObjectWriter para serializar objetos usando a visualização JSON especificada.
writeTree (JsonGenerator jgen, JsonNode rootNode) vazio Ele é usado para serializar a árvore JSON fornecida usando o JsonGenerator fornecido.
writeValue (Arquivo resultadoArquivo, valor do objeto) vazio É usado para serializar o valor Java como saída JSON e gravá-lo no dado arquivo.
writeValue(JsonGenerator g, valor do objeto). vazio É usado para serializar valores Java como saída JSON usando o dado JsonGenerator.
writeValue (saída OutputStream, valor do objeto) vazio É usado para serializar o valor Java como saída JSON usando o dado Fluxo de saída.
writeValue(Escritor w, valor do objeto) vazio É usado para serializar valores Java como saída JSON usando o dado Escritor.
writeValueAsBytes (valor do objeto) byte[] É usado para serializar valores Java como uma matriz de bytes.
writeValueAsString (valor do objeto) Corda É usado para serializar valores Java como uma String.

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

Saída:

Classe ObjectMapper em Jackson

Principais Artigos

Categoria

Artigos Interessantes