Spring MVC 响应结果有双引号

问题是这样的:

使用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

Spring MVC 响应结果有双引号的相关文章

spring mvc(三)开发环境搭建和HelloWorld程序

Spring MVC响应中返回JSON数据的方法: 配置与以前相同使用<mvc:annotation-driven/>的注解配置, 但WEB-INF/lib的类路径里面要有jackson-all-1.6.9.jar这个库文件, 然后在controller里面这样写: @Controller @RequestMapping("/user" ) public class UserController { @RequestMapping("/ajax2" )

1 Spring MVC 原理

1. 注解式  Spring MVC 响应流程: 重要的接口和类的简单说明: DispatcherServlet:前端控制器,用于接收请求. HandlerMapping接口:用于处理请求的映射. DefaultAnnotationHandlerMapping:HandlerMapping接口的实现,用于把一个URL映射到具体的Controller类上. HandlerAdapter接口:用于处理请求的映射. AnnotationMethodHandlerAdapter:HandlerAdapt

Spring MVC 编程基础

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 12.0pt; font-family: Consolas } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left: 21.25pt; text-align: justify

Spring MVC @ResponseBody响应中文乱码

问题:在前端通过get请求服务端返回String类型的服务时,会出现中文乱码问题 原因:由于spring默认对String类型的返回的编码采用的是 StringHttpMessageConverter>>> spring mvc的一个bug,spring MVC有一系列HttpMessageConverter去处理用@ResponseBody注解的返回值,如返回list则使用MappingJacksonHttpMessageConverter,返回string,则使用StringHttp

spring mvc 能过拦截器记录请求数据和响应数据

spring mvc 能过拦截器记录请求数据记录有很多种方式,主要有以下三种: 1:过滤器 2:HandlerInterceptor拦截器 3:Aspect接口控制器 但是就我个人所知要记录返回的数据,只能通过Aspect处理,以下是实现此需要的代码 package com.qmtt.config; import java.util.Arrays; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annot

Spring MVC 执行(请求--&gt;响应)流程

*每日一句:*每天起床之前有两个选择,要么继续趴下做你没做完的梦,要么起床完成你没有完成的梦想.-----** ----- 用户想服务器发型请求,请求被Spring的前端控制器DispatcherServlet截获. DispatcherServlet对请求URL(统一资源定位符)进行解析,得到URI(请求资源标识符).然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象,包括Handler对象以及Handler对象对应的拦截器,这些对象会被封装到一个Han

mvc webapi 返回字符串自动加双引号

来自:http://www.cnblogs.com/David-Huang/p/4351023.html 返回字符串,突然碰到双引号号问题,幸亏有人解决了. 返回XMLDocument类型,默认会解析为json格式.返回字符串会默认加双引号. 解决方法:返回HttpResponseMessage类型,自定义返回值类型. HttpResponseMessage responseMessage = new HttpResponseMessage { Content = new StringConte

Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则.强大的功能.高效的渲染效率.详尽的帮助说明与不断的更新与维护.常见的前端模板引擎有: 常用的java后台模板引擎:jsp.FreeMarker.Velocity等. 请不要迷恋速度,为了推广的测试可能是片面的,好的模板引擎经得起时间考验,建议大家选择成熟的.常用的模板引擎.另外不管前后端的模板引擎

Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

一.控制器定义 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含多个Action(动作.方法). 1.1.实现接口Controller定义控制器 Controller是一个接口,处在包org.springframework.web.servlet.mvc下,接口中只有一个未实现的方法,具体的接口如下所示: package org.springframework.web.servlet.