问题是这样的:
使用MVC框架为Spring MVC,当发出HTTP请求时,数据返回居然是带有双引号的,这样导致我还要在前台对数据进行转换。那么,具体是什么原因造成的呢?看下面代码,就知道了!
1)spring-servlet.xml
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
2)Controller.java
@RequestMapping("/querySubstation")
@ResponseBody
publicStringget(HttpServletRequestrequest,HttpServletResponseresponse){
Listlist=newArrayList();
TreeDtofather=newTreeDto();
father.setId("_001");
father.setText("湘湖变");
list.add(father);
returnJSONArray.fromObject(list).toString();
}
3)返回的结果就是
"[{\"attributes\":{},\"checked\":false,\"children\":[],\"iconCls\":\"\",\"id\":\"_001\",\"parent_id\":\"\",\"state\":\"open\",\"text\":\"湘湖变\"}]"
4)问题发现
问题就是在把数据返回给客户端的时候,进行了两次Json格式转换,所以导致了问题的发生!对于如何处理就很简单了!1)一种方法可以把spring-servlet的那段代码注释掉。
2)一种方法可以自己返回Java对象,而不要进行json转换。