Spring MVC 里控制层返回JSONObject过滤null字段的方法

★方法来源于互联网,如有侵权,请私信我,将会在第一时间删除★

最近在做一款普通的app接口开发,初期发现,带有@ResponseBody接口返回的JSONObject中,当json里构建的对象的属性为空(null)时,返回的字段的值即为”null”,这对app的开发造成一定的不便之处,也一定程度上造成了数据传输中的浪费,然而,也不便每次为相应的对象中必要的字段单独拿出构建一个对象,有什么办法可以除去null的字段?办法有两种:

1. 过滤整个项目中JSONObject对象里的null字段:
找到你的项目中的SpringMVC-Servlet.xml配置文件,
找到配置的地方,添加如下配置:
方法来源点击查看

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                    <property name="serializationInclusion">
                        <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULLvalue>
                    property>
                bean>
            property>
        bean>
    mvc:message-converters>
mvc:annotation-driven>

2.过滤指定对象中的null字段:
在对象的bean的头部添加@JsonSerialize注解:

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)

你可能感兴趣的:(Spring)