spring mvc json乱码问题

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import com.fasterxml.jackson.databind.ObjectMapper; //Jsckson JSON Processer

import java.util.*;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.*;

import java.io.PrintWriter;

import java.nio.charset.Charset;

@Controller

public class HomeController {

@RequestMapping(value="/Home/writeJson", method=RequestMethod.GET)

public void writeJson(HttpServletResponse response)

{

ObjectMapper mapper = new ObjectMapper();

HashMap<String,String> map = new HashMap<String,String>();

map.put("1","张三");

map.put("2","李四");

map.put("3","王五");

map.put("4", "Jackson");

String json = "";

try

{

json = mapper.writeValueAsString(map);

System.out.println(json);

//方案二

ServletOutputStream os = response.getOutputStream(); //获取输出流

os.write(json.getBytes(Charset.forName("GBK"))); //将json数据写入流中

os.flush();

//方案一

response.setCharacterEncoding("UTF-8"); //设置编码格式

response.setContentType("text/html");   //设置数据格式

PrintWriter out = response.getWriter(); //获取写入对象

out.print(json); //将json数据写入流中

out.flush();

}

catch(Exception e)

{

e.printStackTrace();

}

//return "home";

}

}

注解配置!!!!!!!!!!!!!!!!!!!!

@RequestMapping(value="/Home/writeJson", method=RequestMethod.GET, produces = "text/html;charset=UTF-8")

@ResponseBody

public Object writeJson(HttpServletResponse response)

{

ObjectMapper mapper = new ObjectMapper();

HashMap<String,String> map = new HashMap<String,String>();

map.put("1","张三");

map.put("2","李四");

map.put("3","王五");

map.put("4", "Jackson");

String json = "";

try

{

json = mapper.writeValueAsString(map);

System.out.println(json);

}

catch(Exception e)

{

e.printStackTrace();

}

return json;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-04 16:46:14

spring mvc json乱码问题的相关文章

spring mvc json乱码

<mvc:annotation-driven> <mvc:message-converters> <!-- 将StringHttpMessageConverter的默认编码设为UTF-8 --> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /&

Spring MVC JSON自定义类型转换(续)

前面提到了两种转换类型的方法(Spring MVC JSON自定义类型转换),这里针对Json转换提供一种更简便的方法. 通过配置全局的日期转换来避免使用麻烦的注解. 首先用到了一个简单的日期工具类DateUtil.java /** * DateUtil类 * * @author liuzh */ public class DateUtil { public static final String Y_M_D = "yyyy-MM-dd"; public static final St

解决Spring MVC ResponseBody 乱码问题

解决Spring MVC ResponseBody 乱码问题 @RequestMapping(value="qxyjqyresult",produces = "plain/text; charset=UTF-8") @ResponseBody public String getQxyjqyResult(String filename) throws Throwable { return "中文" }

Spring MVC Json相关问题

以下是Spring MVC  一个Controller下的方法,返回的是Json 1: @ResponseBody 2:返回 Map<String,Object> 以下是代码: @RequestMapping("/checkUser") @ResponseBody public Map<String,Object> checkUser( String name,String param, HttpServletRequest request){ Map<S

Spring MVC JSON自定义类型转换

类型有很多,这里只用日期为例说明. 在Spring MVC中存在两大类的类型转换,一类是Json,一个是Spring的Binder转换. JSON: 使用Json转换时,可以如下使用: public class Test { private Date createdate; @JsonSerialize(using = DateYMDHMSJsonSerializer.class) public Date getCreatedate() { return createdate; } @JsonD

spring mvc中文乱码解决思路

引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1"); 解决方法: 第一种方法: 对于需要返回字符串的方法添加注解,如下: @RequestMapping(value=&quo

Spring MVC JSON 实现JsonSerializer Date类型转换

转载至:http://blog.csdn.net/lantianzhange/article/details/40920933 在Spring MVC中存在两大类的类型转换,一类是Json,一个是Spring的Binder转换. JSON: 使用Json转换时,可以如下使用: [java] view plaincopyprint? public class Test { private Date createdate; @JsonSerialize(using = DateYMDHMSJsonS

Spring MVC 解决乱码

1. Spring 事务处理    Spring MVC乱码问题    三种处理数据库的方式        (1)jdbc(J2EE规范)        (2)Spring JDBCTemplate(进一步封装)        (3)MyBatis/Hibernate(不容易调错,效率不是很高,但写代码更新简单)        (4)jpa (J2EE规范) java persist api        jdbc: select * from user u where u.id=1;     

spring mvc出现乱码的问题

我的解决方案是在spring mvc的配置文件中加一个消息转换机制 <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.Http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list>