SpringMVC之JSON乱码和XML 解析错误:格式不佳 位置-yellowcong

来源:互联网 发布:医院排队叫号系统源码 编辑:程序博客网 时间:2024/06/06 07:43

出现这个两个问题的原因是1、编码格式没有指定,默认的编码是iso8859-1,2、没有设定表头ContentType为application/json

问题如下
这里写图片描述

解决办法

//设定编码 response.setCharacterEncoding("UTF-8");//表示是json类型的数据response.setContentType("application/json");

下面是完整的代码

/**     * 在SpringMvc中获取到Session     * @return     */    public void writeJSON(HttpServletResponse response,Object object){        try {            //设定编码             response.setCharacterEncoding("UTF-8");            //表示是json类型的数据            response.setContentType("application/json");            //获取PrintWriter 往浏览器端写数据            PrintWriter writer = response.getWriter();            ObjectMapper mapper = new ObjectMapper(); //转换器            //获取到转化后的JSON 数据            String json = mapper.writeValueAsString(object);            //写数据到浏览器            writer.write(json);            //刷新,表示全部写完,把缓存数据都刷出去            writer.flush();            //关闭writer            writer.close();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }

设定后的效果

这里写图片描述

查看响应的表头,格式为json的,而且是utf-8类型的
这里写图片描述

常见的表头类型

常见的媒体格式类型如下:

    text/html : HTML格式    text/plain :纯文本格式         text/xml :  XML格式    image/gif :gif图片格式       image/jpeg :jpg图片格式    image/png:png图片格式

以application开头的媒体格式类型:

   application/xhtml+xml :XHTML格式   application/xml     : XML数据格式   application/atom+xml  :Atom XML聚合格式      application/json    : JSON数据格式   application/pdf       :pdf格式    application/msword  : Word文档格式   application/octet-stream : 二进制流数据(如常见的文件下载)   application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

另外一种常见的媒体格式是上传文件之时使用的:

    multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

以上就是我们在日常的开发中,经常会用到的若干content-type的内容格式。

可以参考这个人的,写的挺详细的
http://blog.csdn.net/blueheart20/article/details/45174399

原创粉丝点击