JsonNullSerializer to send empty string instead of null value – Set them to “empty string”.
In this article, we’re going to look at a more advanced “use-case” of using Jackson to write a custom serializer.
Here are the steps (for Jackson < 2.0):
For Maven
<!– https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core –>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.4</version>
</dependency>
For Gradle
// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
compile group: ‘com.fasterxml.jackson.core’, name: ‘jackson-core’, version: ‘2.9.4’
import java.io.IOException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
public class NullSerializer extends JsonSerializer<Object>
{
@Override
public void serialize(Object o, com.fasterxml.jackson.core.JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, com.fasterxml.jackson.core.JsonProcessingException { jsonGenerator.writeString(“”);
}
}
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider;
import com.XXX.NullSerializer;
public class CustomObjectMapper extends ObjectMapper
{
public CustomObjectMapper()
{
super();
DefaultSerializerProvider.Impl sp = new DefaultSerializerProvider.Impl();
sp.setNullValueSerializer(new NullSerializer());
this.setSerializerProvider(sp);
}
}
package com.sfl.is.mfn;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationConfig;
import com.XXX.CustomObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.*;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import javax.annotation.PostConstruct;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.Collection;
@ComponentScan
@EnableAutoConfiguration(exclude = { MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class })
@EnableConfigurationProperties({ LiquibaseProperties.class, ApplicationProperties.class })
public class NullToEmptyApplication
{
private static final Logger log = LoggerFactory.getLogger(MindfullnessWebApiApp.class);
public NullToEmptyApplication()
{
}
public static void main(String[] args) throws UnknownHostException
{
SpringApplication app = new SpringApplication(NullToEmptyApplication.class);
}
@Bean
public ObjectMapper jacksonObjectMapper()
{
return new CustomObjectMapper();
}
@Bean
public SerializationConfig serializationConfig()
{
return jacksonObjectMapper()
.getSerializationConfig();
}
}
The workload type, financial concerns, and business use case…
While traditional AI tools provide recommendations or analyze data,…
Are you measuring the correct things? This is where…
Databricks, an advanced solution that uses the Lakehouse architecture…