spring mvc @ResponseBody 不返回null的字段

我用的fastjson解析,配置文件如下我的spring配置的fastjson,如下<!--启动Springmvc注解驱动--><mvc:annotation-drive... 我用的fastjson解析,配置文件如下

我的spring配置的fastjson,如下
<!-- 启动Springmvc注解驱动 -->
<mvc:annotation-driven/>
<!-- 返回json 方法一 需要导入 fastjson.jar包 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="false">
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
<bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<!-- 这里顺序不能反,一定先写text/html,不然ie下出现下载提示 -->
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
在java里通过fastjson转换后,null字段的确没有了,但返回前台还是有null字段
@RequestMapping("testjson")
@ResponseBody
public Object testjson() {
User user1 = new User();
user1.setUsrId(1);
user1.setUsrName(null);
user1.setAge(18);
String aa = JSONObject.toJSONString(user1);
return user1;
}
java里aa的结果是:{"usr_id":1,"age":18}
但返回前台的结果是: {"usr_id":1,"usr_name":null,"age":18}
求解
展开
 我来答
百度网友5ba75e4
2015-11-05 · TA获得超过2045个赞
知道大有可为答主
回答量:1775
采纳率:60%
帮助的人:975万
展开全部

由于我没用过fastjson包,对这块不了解,以jsonObject为例,方案有以下几种

  1. 给ajax调用,Object给成String,直接return你正确的那个

  2. 在User类里添加getJson方法,构建符合你逻辑的JSON对象

我我我不是口口
2018-08-09
知道答主
回答量:3
采纳率:0%
帮助的人:1179
展开全部
采用fastjson的序列化可以解决你的问题
QuoteFieldNames———-输出key时是否使用双引号,默认为true WriteMapNullValue——–是否输出值为null的字段,默认为false WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
示例:
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式