文档章节

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

weiliu007
 weiliu007
发布于 2016/09/30 09:54
字数 261
阅读 351
收藏 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
粉丝 14
博文 171
码字总数 84766
作品 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 mybatis分布式云架构构建RESTful API

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

itcloud
08/16
0
0
SpringCloud SpringBoot 分布式微服务云架构 构建RESTful API

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

itcloud
07/09
0
0
Spring4新特性——Web开发的增强

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

张升强
2014/04/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions)

转发 TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions) 高级类型 可辨识联合(Discriminated Unions) 你可以合并单例类型,联合类型,类型保护和类型别名来创建一个叫做 ...

durban
9分钟前
0
0
画图工具

目标是不要让我自己摆放,那样会打断我的思路。要自己会摆放,我写字就好。 纠结对齐的我在也不会因为一个像素的问题小心翼翼的移动鼠标了。因为它对不齐你也管不了。 Graphviz https://www...

郭大鹏
10分钟前
0
0
在Visual Studio中使用GitHub(使用篇)

上一篇中已经介绍了如何在windows下安装和配置Git,并且详细说明了如何和GitHub连接。 这里就详细的说明下如何在Visual Studio中使用GitHub。这里也是一个简单的Git教程。 注:非常非常简单的...

Jokeny
10分钟前
0
0
tomcat 在liunx系统中shutdown后进程仍然存在解决办法

这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换了一个项目,所以暂时不考察windows下是否存在该问题。 难道是Tomcat版本问题?或者用带内存泄...

乱舞
11分钟前
0
0
区块链10年了,还未落地,它失败了吗?

几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 有人说,比特币是建...

linux-tao
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部