@Controller //注解
public class UserController {
@RequestMapping("/json1")
//问题:正常返回走视图解析器,而json需要返回一个字符串
//通过jar包:jackson,只需要一个简单的注解就可以实现
//    @ResponseBody,将服务端返回的对象转换为json对象返回回去 @ResponseBodypublic String json1() throws JsonProcessingException {//需要一个jackson的对象映射器,就是一个类,使用他可以直接将对象转为json字符串ObjectMapper omapper = new ObjectMapper();//实例化User对象User user = new User("张三", 1, "男");//将Java对象转换为json对象String s = omapper.writevalueAsString(user);return s;//由于使用了@ResponseBody注解,这里会将s以json格式的字符串返回}}

将上方对象映射器和转换抽象成工具类(封装)


@RequestMapping("/json1")@ResponseBodypublic String json2() throws JsonProcessingException {User user = new User("张三", 1, "男");return new ObjectMapper().writeValueAsString(user);}

问题:后端正常,前端乱码了

解决方式一:在@RequestMapping注解中的produces属性里指定响应体的返回类型和编码


@RequestMapping(value = "/json2",produces = "application/json;charset=utf-8")@ResponseBodypublic String json2() throws JsonProcessingException {User user = new User("张三", 1, "男");return new ObjectMapper().writeValueAsString(user);}

解决方式二:(一劳永逸) 配置全局编码过滤

在springmvc-servlet.xml中添加如下配置

<mvc:annotation-driven><mvc:message-converters register-defaults="true"><bean class="org.springframework.http.converter.StringHttpMessageConverter"><constructor-arg value="UTF-8"/></bean><bean     class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="objectMapper"><bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"><property name="failOnEmptyBeans" value="false"/></bean></property></bean></mvc:message-converters>
</mvc:annotation-driven>

Json格式乱码处理方式相关推荐

  1. HTML页面之间传递Json格式数组的方式

    HTML页面之间传递Json格式数组的方式 如下: a.html localStorage.setItem("userinfoList", JSON.stringify(list) ...

  2. web 后台返回json格式数据的方式(status 406)

    1.在类上使用注解 @RestController public class HttpComentInterface {} 2.在方法是使用注解  @ResponseBody @RequestMapp ...

  3. hive (2.01)读取 json 格式 的处理方式 2018-4-24

    测试json  数据 格式 样例: {"data":{"dt":"2018-12-13","hu":"17:1 ...

  4. SpringMVC的数据响应-回写数据-直接回写json格式字符串(应用)

    @RequestMapping(value="/quick8") @ResponseBody public String save8() throws IOException {r ...

  5. Ajax解析laravelJSON,3分钟短文:Laravel请求体内JSON格式数据的处理办法

    原标题:3分钟短文:Laravel请求体内JSON格式数据的处理办法 引言 前几篇文章我们讲了表单数据的接收,验证等功能.也说到了传送的数组如何处理, 今天我们说一下如果传送的数据是JSON格式,其处 ...

  6. JSON解决乱码问题

    1. 正常数据格式的乱码问题 注:如果是一般的请求,(非ajax的json请求乱码,直接在web.xml中配置中文过滤器) 如下: <filter><filter-name>e ...

  7. JavaScript对象与JSON格式的转换

    在Web开发中,JavaScript和JSON是两个经常用到的概念.JavaScript是一种脚本语言,可以用来操作网页的内容和行为,而JSON是一种轻量级的数据交换格式,通常用于在客户端和服务器之间 ...

  8. 如何在json格式上传文件?

    按照以前的前端编写很多都是form-data格式,现在json格式越来越流行,但是在某一方面也体现json的不足,那就是文件上传问题: 后端配置: 入参是有@RequestBody注解作为json格式 ...

  9. html中如何美化展示json格式数据

    本篇文章给大家介绍 html中美化展示json格式数据的方式.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 直接上代码: html中主要加一个pre 的标签 <h2>G ...

  10. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody@RequestMapping(value = "getListByTime", m ...

最新文章

  1. 怎么卸载apowerrec_Win10预装应用太多如何彻底清除?一个命令删除
  2. 12月8日中科院刘永鑫报告:宏基因组数据分析的机遇与挑战
  3. MYSQL5-7版本sql_mode=only_full_group_by问题
  4. Hibernate关联关系映射
  5. 测试思想-测试设计 测试用例设计之正交法
  6. 还在对Matplotlib繁琐的图层设置感到烦恼!?快来看看这个Python绘图工具包吧
  7. 小白的CMMI3体验
  8. 洛谷P1527 [国家集训队] 矩阵乘法 [整体二分,二维树状数组]
  9. 5.过滤器作为模板——寻找沃尔多、不相同的模板匹配_3
  10. oracle 11g 及 plsqldeveloper 相关操作
  11. 为什么派生的子类报错不能实例化抽象类_C# 接口与抽象类实例分析
  12. 计算机网络实习个人总结,(实习报告)计算机网络实训个人小结
  13. 服务器里怎么设置微信多开,企业微信多开的4种方法
  14. 【寒江雪】圆与扇形物体的碰撞检测
  15. 子网划分的计算与可用主机数
  16. 十大超级老牌黑客逐个曝光
  17. Java使用poi给Word加水印(目前自己了解的仅支持后缀为.docx格式的,.doc仍在研究)开源、免费。
  18. X/Y/Z Modem、Kermit区别
  19. Arch Linux 安装后无法联网的问题
  20. 华为eNSP模拟酒店无线wifi实验

热门文章

  1. oracle数据如何采集,网页采集的数据如何导出到Oracle数据库 - 八爪鱼采集器
  2. 微信公众号发布图文消息次数达到上限
  3. Windows安全配置
  4. 实现监控摄像头RTSP视频流-Web端人脸识别-ffmpeg+websocket+jsmpeg方法总结
  5. 华为2019届校招笔试题及解法
  6. 晶振的负载电容、寄生电容和动态电容及参考值
  7. 短信验证码平台应该怎么选择?
  8. Linux基础命令:awk
  9. MyBatis-Plus批量保存
  10. PS常用快捷键及模板使用