文档章节

Spring4 MVC 返回json格式时候 设置不返回null值属性的问题

weiliu007
 weiliu007
发布于 2016/09/30 09:54
字数 261
阅读 356
收藏 0

背景:
使用@responseBody设置以json格式返回数据时候. 有时候被返回的对象有些属性是null值, 默认还是会输出. 例如下面代码. 在与移动端交互时候会很浪费流量. 
{
 "fpassword" : "sssssssss",
 "favator" : "",
 "fbirthday" : null,
 "fcredType" : null,
 "fcredid" : null,
 "fregistedTime" : null,
 "fstate" : 1,
 "flstate" : 1,
 "fstatusMask" : 0,
 "fstatusMask1" : 0,
 "fcreateTime" : 1443260277000,
 "fmodifyTime" : 1443260277000,
 "fstandby0" : null,
 "fstandby1" : null,
 "fstandby2" : null,
 "fstandby3" : null,
 "fstandby4" : null,
 "fstandby5" : null,
 "fstandby6" : null,
 "fpassFlag" : 1,
 "fquestion1" : null,
 "fanswer1" : null,
 "fquestion2" : null,
 "fanswer2" : null,
 "fregDeviceId" : null,
 "fregClientIp" : null,
 "fregChannel" : null,
 "fpassModifyTime" : null
}
有两种方法设置不返回null值属性. 
1.  在被返回的对象例如User类, 添加注解@JsonInclude(Include.NON_NULL)即可. 在spring4.1.6, jackson-databind 2.5.1版本亲测有效
spring使用的是fasterxml.jackson组件解析对象. 因此依赖一下包..
 

<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>
   <version>2.5.1</version>
</dependency>



问题来了!! 第二种方法:
2. spring mvc配置文件,

<mvc:annotation-driven>
        <mvc:message-converters>
            <bean
                class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
                <beans:property name="objectMapper">
                    <beans:bean class="org.codehaus.jackson.map.ObjectMapper">
                        <beans:property name="serializationInclusion">
                            <util:constant
                                static-field="org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.NON_NULL" />
                        </beans:property>
                    </beans:bean>
                </beans:property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

 

© 著作权归作者所有

共有 人打赏支持
weiliu007
粉丝 15
博文 171
码字总数 84810
作品 0
深圳
程序员
私信 提问
Spring4MVC中配置返回json格式数据

Spring4MVC中配置返回json格式数据 相关的jar包支持,jackson。 若是Maven工程,即可直接在pom.xml中添加一下依赖即可: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <arti......

Evyn_lv
2016/06/06
22
0
使用Json.NET来序列化所需的数据

我们在做开发的时候,很多时候需要和Json数据格式打交道,如Web开发里面,很多时候,数据通过Json进行传递到页面上,然后在进行处理的。而使用Json的时候,我们很多时候会涉及到几个序列化对...

walb呀
2017/12/04
0
0
SpringCloud SpringBoot 分布式微服务云架构 构建RESTful API

首先,回顾并详细说明一下在快速入门中使用的、、注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。 :修饰class,用来创建处理http请求的对象 :...

itcloud
2018/07/09
0
0
SpringCloud SpringBoot mybatis分布式云架构构建RESTful API

首先,回顾并详细说明一下在快速入门中使用的、、注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。 :修饰class,用来创建处理http请求的对象 :...

itcloud
2018/08/16
0
0
Spring4新特性——Web开发的增强

Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC Spring4新特性...

张升强
2014/04/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
4
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
23
3
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部