Tratamento de valores de campos nulos na serialização Jackson
Jackson, uma biblioteca de serialização Java popular, fornece várias opções de configuração para personalizar seu comportamento de serialização. Um cenário comum é suprimir a serialização de valores de campo nulos. Isso garante que apenas propriedades não nulas sejam incluídas na saída serializada.
Configurando Jackson para supressão de valor nulo
Existem duas abordagens principais para instruir Jackson a ignorar nulo valores de campo durante a serialização.
1. Usando SerializationInclusão:
ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
Essa configuração global se aplica a todos os campos em todas as classes que são processadas pelo ObjectMapper. Ele garante que qualquer campo com valor nulo será omitido da saída serializada.
2. Usando a anotação @JsonInclude:
@JsonInclude(Include.NON_NULL) public class SomeClass { private String someValue; }
Aplicar a anotação @JsonInclude a uma classe ou método getter permite especificar o comportamento de serialização para propriedades ou subclasses específicas. Ao definir Include.NON_NULL, indica que apenas valores não nulos para esse campo devem ser serializados.
Abordagens alternativas
Como alternativa, você pode usar a anotação @JsonInclude no método getter de uma propriedade específica para serializar condicionalmente a propriedade somente quando seu valor não for null.
@JsonInclude(value = JsonInclude.Include.NON_NULL, condition = JsonInclude.Include.Condition.NON_NULL) public String getSomeValue() { return someValue; }
Considerações adicionais
Observe que essas configurações não afetam o processo de desserialização. Se um valor nulo for encontrado durante a desserialização, ele ainda será definido no campo correspondente. Para controlar o comportamento de desserialização, consulte a documentação do Jackson para @JsonIgnoreProperties e @JsonIgnore.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3