问题是这样的:
使用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转换。
时间: 2024-11-16 02:41:42