spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000

       之前搭建开发环境的时候遇到了一个奇怪的现象,使用spring4.1.6的框架,因为spring的升级处理json的jar也跟着升级到了Jackson2.6的rc1版。具体引入的jar如下图所示:

spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000_第1张图片

       环境搭建好后写接口采用json数据传递,刚开始没什么问题,但是有一天保存了大量的文字信息,在查询返回的时候出现了编码问题,如图所示:

spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000_第2张图片

       这是什么鬼,调试了好长时间也找出问题来,中文输入一般情况下没有问题,只有几篇文档会出现这种情况,以为是文档里什么隐含的特殊字符导致的,各种尝试,一个个字复制的尝试,都不好使,时好时坏,真是急人呀。

       所有的问题总有它出现的原因,也有对应的解决办法。最后还是被发现了规律,就是框架里引入的json解析jar在中文汉字在超过一定长度的时候就会出现这种情况。果断更换了jar后问题也就不存在了。更换的jar如下图所示:

spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000_第3张图片

       更换jar后,输入再多的中文也没有乱码了,心情突然就好了,下图所示:

spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000_第4张图片


总结:框架搭建尤其是升级使用框架版本的时候,我们应该多做一些技术调研,了解升级版本的优缺点,尽量选择稳定版作为正式使用的版本,这样保证我们开发能够正常进行,项目能够顺利上线。在遇到问题时也应该冷静分析,找规律,找本源,从根本上解决问题。


你可能感兴趣的:(问题解决)