使用ajax请求SpringMVC返回Json出现乱码解决方法

1:在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码! 
(1):前台使用ajax ,已经设定返回的结果为json格式!ajax代码不贴出来了! 
(2):后台代码

@RequestMapping(value = { "/hello/{uuid}" }, method = RequestMethod.GET /*,produces = "text/html;charset=UTF-8"*/)
    @ResponseBody
    public String hello(@PathVariable("uuid") String uuid) {
        String result = "";

        //do something
        //使用Json返回json格式数据

        return JSON.toJSONString(result);;
    }

在没有加produces = “text/html;charset=UTF-8” 之前,返回的结果一直是乱码,很奇怪,项目中web.xml也设置了编码格式utf-8 ,没有找到最终的原因,不过找到了这种解决方法!

2:如果上面的方法还是不能解决的话就用下面的方法:

@ResponseBody
    public void hello(@PathVariable("uuid") String uuid,HttpServletResponse response) {
        String result = "";

        //do something
        //使用Json返回json格式数据
        JSONObject josn = new JSONObject();
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().print(JSON.toJSON(result));
    }
时间: 2024-12-24 02:42:43

使用ajax请求SpringMVC返回Json出现乱码解决方法的相关文章

asp.net webservice 返回json数据乱码解决方法

[WebMethod] public void QueryRiskNotice(string phone) { try { var data = _riskNoticeDal.QueryRiskNotice(phone); var list = from da in data.AsEnumerable() select new { //通知单 编号 number = da.Field<string>("t_number"), //通知单 日期 date = da.Field

SpringMVC Ajax请求时返回json中文字符串的乱码问题的解决方案

1.org.springframework.http.converter.StringHttpMessageConverter类是处理请求或相应字符串的类,并且默认字符集为ISO-8859-1,所以在当返回json中有中文时会出现乱码. 2.StringHttpMessageConverter的父类里有个List<MediaType> supportedMediaTypes属性,用来存放StringHttpMessageConverter支持需特殊处理的MediaType类型,如果需处理的Me

Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题

//php中的数组数据格式 Array ( [all] => Array ( [title] => ALL [room_promotion_id] => all ) [best_available_rate] => Array ( [title] => Best Available Rate [room_promotion_id] => best_available_rate ) [30] => Array ( [room_promotion_id] =>

Ajax请求ashx 返回 json 格式数据常见问题

问题:ashx 返回的字符串json格式,在前台ajax自动解析失败. 问题分析:经过排查,发现是拼接json时出现” ’  “单引号,jquery无法解析,用” “ “双引号才可以.例如: string strjson="[ { 'userName':'test'}]"; //单引号导致jquery无法自动解析. string strjson="[ {\"userName\":\"test\"}]"; // 双引号可以解析:

json 解析乱码解决方法

1. 字符编码的的规律: 字符串的在存入txt文档文档有自身的编码方式,如utf-8,ansi等,但当 存入txt文档时,其编码方式就会和txt文档本身的编码方式保持一致. 比如字符之前的编码方式为ansi,txt文档的编码方式为utf-8,则存入的字符编码方式也会 变为utf-8编码方式.  当从txt文档读出该字符串时,其编码方式也应该是 utf-8. 2. 当前json解析乱码的解决方式 当前json数据的传输方式分为两种: 1). 通信放直接将自身拿到的字符串传输给另一端,在这个过程,无

解决springmvc返回json中文乱码

在pringmvc中通过设置@ResponseBody返回json乱码问题,这个问题上网找了很久,发现答案真是人云亦云,奉上我的解决方案: 解决方案一:需要导入 jackson-core-asl-1.9.11.jarjackson-mapper-asl-1.9.11.jar 包,其目的是设置了返回json的格式 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

关于ajax请求,返回json数据格式

使用servlet测试 后台数据为:返回类型没有设置(方式一) 1 String str = "["+ 2 "{ id:1, pId:0, name:\"可折腾的父节点 1\", t:\"我很普通,随便 展开/折叠 我吧\", open:false},"+ 3 "{ id:11, pId:1, name:\"叶子节点 - 1\", t:\"我老爸很普通,随便折腾他吧\"},&q

Spring MVC 中 AJAX请求并返回JSON

一.以ModelAndView的方式返回 先看下JavaScript代码: 1 /** 2 * 保存-同步(版本控制库) 3 */ 4 function saveSynchronizedVcHorse(obj) { 5 var ss = $("#SynchronizedSelection div"); 6 var cacheSelectAry = new Array() 7 for(var i = 0; i < ss.length; i ++) { 8 //alert(ss.eq

springMVC返回json数据乱码问

在springMVC controller中返回json数据出现乱码问题,因为没有进行编码,只需要简单的注解就可以了 在@RequestMapping()中加入produces="text/html;charset=UTF-8"属性即可,如下: @RequestMapping(value="/respost",method=RequestMethod.GET,produces="text/html;charset=UTF-8") @Respons