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}
求解 展开
我的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}
求解 展开
展开全部
采用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);
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询