Spring MVC 响应结果有反斜杠转义字符+双引号

原创
2015/03/07 22:26
阅读数 3.3W

问题是这样的:

使用MVC框架为Spring MVC,当发出HTTP请求时,数据返回居然是带有双引号的,这样导致我还要在前台对数据进行转换。那么,具体是什么原因造成的呢?看下面代码,就知道了!

1)spring-servlet.xml

<!-- 对返回的JavaBean进行json转换返回给前台 -->
<bean name="mappingJacksonHttpMessageConverter" 
	      class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />

2)Controller.java

        @RequestMapping("/querySubstation")
	@ResponseBody
	public String get(HttpServletRequest request , HttpServletResponse response){
	
		List<TreeDto> list = new ArrayList<TreeDto>();
		
		TreeDto father = new TreeDto();
		father.setId("_001");
		father.setText("湘湖变");
		list.add(father);
		
		return JSONArray.fromObject(list).toString();
	}

3)返回的结果就是

"[{\"attributes\":{},\"checked\":false,\"children\":[],\"iconCls\":\"\",\"id\":\"_001\",\"parent_id\":\"\",\"state\":\"open\",\"text\":\"湘湖变\"}]"

4)问题发现

问题就是在把数据返回给客户端的时候,进行了两次Json格式转换,所以导致了问题的发生!对于如何处理就很简单了!1)一种方法可以把spring-servlet的那段代码注释掉。

2)一种方法可以自己返回Java对象,而不要进行json转换。

展开阅读全文
打赏
1
11 收藏
分享
加载中
直接返回list对象试试
2015/03/09 08:36
回复
举报
更多评论
打赏
1 评论
11 收藏
1
分享
返回顶部
顶部