Spring4 MVC 返回json格式时候 设置不返回null值属性的问题
2016-09-30 00:00
507 查看
背景:
使用@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组件解析对象. 因此依赖一下包..
问题来了!! 第二种方法:
2. spring mvc配置文件,
使用@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>
相关文章推荐
- spring -mvc 将对象 已json返回时 忽略掉对象中的属性注解方式
- SpringMVC Ajax返回的请求json 的方式来解决在中国字符串乱码问题
- spring -mvc 将对象 已json返回时 忽略掉对象中的属性注解方式
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- 解决spring-mvc @responseBody注解返回json 乱码问题
- spring mvc ajaxfileupload文件上传返回json下载问题
- Spring 4.2 mvc 返回指定属性的json数据
- 解决spring-mvc @responseBody注解返回json 乱码问题
- springmvc+easyui Ajax提交返回json IE出现下载问题
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- 解决MVC返回Json中日期格式问题
- 关于MVC中返回JSON格式数据提示下载的问题
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- 解决spring-mvc @responseBody注解返回json 乱码问题
- Spring mvc+jackson+jquery easyui返回json数据出现整合出问题
- Spring mvc+jackson+jquery 返回json数据出现整合出现包冲突问题
- 使用spring-mvc 框架返回json格式数据 报406
- 解决spring-mvc @responseBody注解返回json 乱码问题
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- 用JS解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题