当前位置: 首页 > news >正文

网站域名与网站首页网址技成培训网

网站域名与网站首页网址,技成培训网,网站二维码制作,seo营销外包转载自:http://blog.csdn.net/zht666/article/details/8695908 Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题。 Spring版本:3.2.…

转载自:http://blog.csdn.net/zht666/article/details/8695908

Spring MVC3返回JSON数据中文乱码问题解决

查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题。

Spring版本3.2.2.RELEASE

Jackson JSON版本2.1.3

解决思路:Controller的方法中直接通过response向网络流写入String类型的json数据。

使用 Jackson 的 ObjectMapper 将Java对象转换为String类型的JSON数据。

为了避免中文乱码,需要设置字符编码格式,例如:UTF-8、GBK 等。

代码如下:

[java]  view plain copy
  1. import org.springframework.beans.factory.annotation.Autowired;  
  2. import org.springframework.stereotype.Controller;  
  3. import org.springframework.ui.Model;  
  4. import org.springframework.web.bind.annotation.RequestMapping;  
  5. import org.springframework.web.bind.annotation.RequestMethod;  
  6. import org.springframework.web.bind.annotation.RequestParam;  
  7.   
  8. import com.fasterxml.jackson.databind.ObjectMapper; //Jsckson JSON Processer  
  9.   
  10. import java.util.*;  
  11. import javax.servlet.ServletOutputStream;  
  12. import javax.servlet.http.*;  
  13. import java.io.PrintWriter;  
  14. import java.nio.charset.Charset;  
  15.   
  16. /** 
  17.  * Created with IntelliJ IDEA 12.0 
  18.  * Date: 2013-03-15 
  19.  * Time: 16:17 
  20.  */  
  21. @Controller  
  22. public class HomeController {  
  23.     @RequestMapping(value="/Home/writeJson", method=RequestMethod.GET)  
  24.     public void writeJson(HttpServletResponse response)  
  25.     {  
  26.         ObjectMapper mapper = new ObjectMapper();  
  27.   
  28.         HashMap<String,String> map = new HashMap<String,String>();  
  29.         map.put("1","张三");  
  30.         map.put("2","李四");  
  31.         map.put("3","王五");  
  32.         map.put("4""Jackson");  
  33.   
  34.         String json = "";  
  35.   
  36.         try  
  37.         {  
  38.             json = mapper.writeValueAsString(map);  
  39.             System.out.println(json);  
  40.   
  41.             //方案二  
  42.             ServletOutputStream os = response.getOutputStream(); //获取输出流  
  43.             os.write(json.getBytes(Charset.forName("GBK"))); //将json数据写入流中  
  44.             os.flush();  
  45.   
  46.             //方案一  
  47.             response.setCharacterEncoding("UTF-8"); //设置编码格式  
  48.             response.setContentType("text/html");   //设置数据格式  
  49.             PrintWriter out = response.getWriter(); //获取写入对象  
  50.             out.print(json); //将json数据写入流中  
  51.             out.flush();  
  52.         }  
  53.         catch(Exception e)  
  54.         {  
  55.             e.printStackTrace();  
  56.         }  
  57.   
  58.         //return "home";  
  59.     }  
  60. }  

还有一种方法:设置 @RequestMapping 的 produces 参数,代码如下所示:

思路:使用 @ResponseBody 注解直接返回json字符串,为了防止中文乱码,将@RequestMapping 的 produces 参数设置成"text/html;charset=UTF-8" 即可。

[java]  view plain copy
  1. @RequestMapping(value="/Home/writeJson", method=RequestMethod.GET, produces = "text/html;charset=UTF-8")  
  2. @ResponseBody  
  3. public Object writeJson(HttpServletResponse response)  
  4. {  
  5.         ObjectMapper mapper = new ObjectMapper();  
  6.   
  7.         HashMap<String,String> map = new HashMap<String,String>();  
  8.         map.put("1","张三");  
  9.         map.put("2","李四");  
  10.         map.put("3","王五");  
  11.         map.put("4""Jackson");  
  12.   
  13.         String json = "";  
  14.   
  15.         try  
  16.         {  
  17.             json = mapper.writeValueAsString(map);  
  18.             System.out.println(json);  
  19.         }  
  20.         catch(Exception e)  
  21.         {  
  22.             e.printStackTrace();  
  23.         }  
  24.   
  25.         return json;  
  26. }  

 

运行结果如下图所示:

http://www.dinnco.com/news/29943.html

相关文章:

  • 中英文网站价格免费的网站推广软件下载
  • 网站下载不了怎么解决抖音推广平台
  • 怎样开发手机网站产品推广计划书怎么写
  • 做企业网站哪里找微信crm
  • dedecms织梦系统网站防会员注册机徐州seo排名公司
  • y2学年做的租房网站做网站排名优化的公司
  • wordpress开源程序建站教程如何做推广和引流
  • c#购物网站开发流程国外搜索引擎网站
  • 织梦网站标题被篡改seo网站关键词优化
  • co域名 大网站全国疫情最新情况最新消息今天
  • 做黑界头像网站网站优化排名软件
  • 吉林长春网络公司有哪些安徽seo网络推广
  • 外贸公司的网站建设模板桂林市天气预报
  • 网站视频怎么做的百度指数分析报告案例
  • 广西住房和城乡建设官方网站网站设计费用
  • 手机网站建设价格低足球排行榜前十名
  • 广西网络长沙网站seo服务
  • 网罗天下做网站靠谱吗网络做推广广告公司
  • 公司网站如何做公安部备案网站新站整站排名
  • 免费网络代理服务器好搜网惠州seo
  • 建筑培训网站网络营销案例成功案例
  • 济南网站建设工作广州网站优化外包
  • 商务网站建设报告书东莞网站推广排名
  • 如何提升网站百度权重seo排名规则
  • 西宁市公司网站建设网络推广网站推广方法
  • 改织梦模板做网站百度风云榜小说排行榜历届榜单
  • 计算机科学与技术淄博seo
  • 用源码怎么做网站网络推广最好的网站有哪些
  • 成都app拉新工作室加盟湖南正规关键词优化首选
  • 制作网站给别人做诈骗的会犯什么罪杭州百度推广代理公司哪家好