新建一个RecordJackSonSerializer
- public class RecordJackSonSerializer extends JsonSerializer<Record> {
- @Override
- public void serialize(Record record, JsonGenerator gen, SerializerProvider serializers) throws IOException {
- gen.writeObject(record.getColumns());
- }
- }
然后再配置该类
- @Configuration
- public class JacksonConfiguration {
- /**
- * Support for Java date and time API.
- * @return the corresponding Jackson module.
- */
- @Bean
- public JavaTimeModule javaTimeModule() {
- return new JavaTimeModule();
- }
- @Bean
- public Jdk8Module jdk8TimeModule() {
- return new Jdk8Module();
- }
- @Bean
- @Primary
- @ConditionalOnMissingBean(ObjectMapper.class)
- public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
- ObjectMapper objectMapper = builder.createXmlMapper(false).build();
- SimpleModule simpleModule = new SimpleModule();
- simpleModule.addSerializer(Record.class,new RecordJackSonSerializer());
- objectMapper.registerModule(simpleModule);
- objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
- @Override
- public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
- jsonGenerator.writeString("");
- }
- });
- return objectMapper;
- }
- /*
- * Jackson Afterburner module to speed up serialization/deserialization.
- */
- @Bean
- public AfterburnerModule afterburnerModule() {
- return new AfterburnerModule();
- }
- /*
- * Module for serialization/deserialization of RFC7807 Problem.
- */
- @Bean
- ProblemModule problemModule() {
- return new ProblemModule();
- }
- /*
- * Module for serialization/deserialization of ConstraintViolationProblem.
- */
- @Bean
- ConstraintViolationProblemModule constraintViolationProblemModule() {
- return new ConstraintViolationProblemModule();
- }
- }