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

来源:互联网 发布:女生性幻想对象 知乎 编辑:程序博客网 时间:2024/06/08 17:07

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

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

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

<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_NULL</value>                    </property>                </bean>            </property>        </bean>    </mvc:message-converters></mvc:annotation-driven>

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

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
0 0