SpringBoot中配置不序列化返回值为null的属性

package com.weiresearch.properties;

import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.SerializerProvider;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;

import java.io.IOException;

/** * 〈返回json空值去掉null和""〉 〈功能详细描述〉 *  * @author gogym * @version 2017年10月13日 * @see JacksonConfig * @since */@Configurationpublic class JacksonConfig{    @Bean    @Primary    @ConditionalOnMissingBean(ObjectMapper.class)    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)    {        ObjectMapper objectMapper = builder.createXmlMapper(false).build();        // 通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化        // Include.Include.ALWAYS 默认        // Include.NON_DEFAULT 属性为默认值不序列化        // Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化,则返回的json是没有这个字段的。这样对移动端会更省流量        // Include.NON_NULL 属性为NULL 不序列化,就是为null的字段不参加序列化        //objectMapper.setSerializationInclusion(Include.NON_EMPTY);        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);        // 字段保留,将null值转为""       /* objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()    {        @Override        public void serialize(Object o, JsonGenerator jsonGenerator,                              SerializerProvider serializerProvider)                throws IOException, JsonProcessingException        {            jsonGenerator.writeString("");        }    });*/        return objectMapper;    }}

原文地址:https://www.cnblogs.com/CHWLearningNotes/p/9438818.html

时间: 2024-11-06 12:40:46

SpringBoot中配置不序列化返回值为null的属性的相关文章

springboot中用fastjson处理返回值为null的属性值

@Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() { FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); FastJso

Java 中无参带返回值方法的使用

如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如: 运行结果为: 两数之和为:17 不容忽视的“小陷阱”: 1. 如果方

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

linux编程中接收主函数返回值以及错误码提示

程序A创建子进程,并调用进程B,根据不调用的不同情况,最后显示结果不同. #include <stdio.h> #include <unistd.h> #include <sys/wait.h> #include <sys/types.h> #include <errno.h> int main() { pid_t pid, rpid; int stat; if ((pid = fork()) < 0) { perror("for

Java基础---Java中无参数无返回值方法使用(三十六)

Java 中无参无返回值方法的使用 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 " welcome to imooc. " 注意哦: 1. 方法体放在一对大括号中,实现特定的操作 2. 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式 第二步,调用方法 当需要调用方法执行某个操作

Java基础---Java中无参数带返回值方法的使用(三十七)

Java 中无参带返回值方法的使用 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如: 运行结果: 不容忽视的"小陷阱&

Java基础---Java中带参数无返回值方法的使用(三十九)

Java 中带参无返回值方法的使用 有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行.例如,现实生活中电饭锅可以实现"煮饭"的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的"巧妇难为无米之炊"了.我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据. 我们先来看一个带参数,但没有返回值的方法: 上面的代码定义了一个 show 方法,带有一个参数 name

慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如:

Android 在xml中配置 float 和 integer 值

一.float的配置方法 andriod 默认不支持float型的设置,在values 下的新建floats.xml 文件,在内部添加如下代码: <resources> <item name="chart_view_line_width" format="float" type="dimen"> 3.3</item> <item name="chart_view_text_size"