jsonUnexpected token,字符串编码不一致等的终极解决办法
来源:互联网 发布:js修改div id 编辑:程序博客网 时间:2024/06/05 07:53
最近一个正常运行了半年的系统,和第三方APP进行的通信程序,一直运行的好好的,下午突然就崩了~~~通过日志排查是解析过程中出错了,但是我的程序各个数据库交互环节以及数据强制转换的环节都做了判断,额,复制出来日志上的各种接收数据,通过“肉眼”扫描了N多次,没问题啊,甚至开始对自己编写的“无敌”程序产生怀疑了,呵呵。
但是在网上的有些json校验格式化工具上提示Unexpected token,虽然大部分工具还是能校验通过。但是还是把数据复制到我的eclipse下进行运行,果然发现转换json的环节出错了!!!但是在IDE下肉眼检查了每一个大括号,中括号,冒号,双引号,都没有发现问题!!!
后来部署到程序下面进行运行,发现不能正常转换,遂和同事WJW进行了沟通,然后两人又是半天进行排查,没个结果,思来想去我们都知道可能是编码的问题!但是谁也不知道如何下手,在出错的json校验网页,把第一层的左括号删除(直至第一个字符串),用半角左括号进行了替换,发现可以正常解析了!!!
再后来问题排查出来了,和APP方进行了沟通,你们是不是修改程序的字符集编码了导致我方收到数据无法解析???对方经过排查,确实是他们有一个开发人员对代码进行过修改,然后他们听从我们的意见对该文件恢复为UTF-8编码,果然程序又可以正常运行了。
后来大神WJW编写了个字符串转byte的小程序完美的解释了这一现象,以后大家不用走弯路了,直接这么做就能告诉对方“你的字符串编码有问题”。
废话不多说了,直接上图!
先看看正常情况下的json字符串的Byte数组是啥样的?可以从下图中看见是123,34,101。。
然后我们再看看那个坑爹的字符串是啥样???通过下图我们看见前边明显的多余了3个奇怪的字节。。。
我们可以把这图直接丢给对方的开发人员,他们会哑口无言!!!
这种方法适用于所有字符串编码不一致的场景。
- jsonUnexpected token,字符串编码不一致等的终极解决办法
- 页面编码与表单编码不一致解决办法
- JAVA字符串与字符编码处理的终极解决
- JAVA字符串与字符编码处理的终极解决
- unexpected token: *的解决办法
- 解决编码不一致的问题
- ie7 ie8 maxthon等浏览器下eWebEditor 错误的终极解决办法
- IE问题的终极解决办法
- 电脑屏幕黑屏的终极解决办法
- 页面字符编码不一致的处理
- float高度不一致 导致错位的解决办法
- nbsp浏览器宽度不一致的解决办法
- PDF文件页面大小不一致的解决办法
- 字符串常量的终极本质
- "CSRF token missing or incorrect."的解决办法
- 页面编码与数据库编码不一致的情况
- 查看linu系统编码,解决中文编码不一致的问题
- win8和win7下解决php5.3和5.4、5.5等不能加载php_curl.dll的终极解决办法
- android studio jar
- SSO单点登录、ajax跨域重定向、跨域设置Cookie、京东单点登录实例分析
- 定制android ROM禁止SIM卡状态改变系统弹出提示框
- __BUILTIN_TYPES_COMPATIBLE_P函数
- Android .9.png制作
- jsonUnexpected token,字符串编码不一致等的终极解决办法
- 免费API接口收集
- php中如何去除字符串中的空格
- Cgroup 图文版操作练习(转载)
- C语言中字符串的几种定义方式
- SQL业务审核与优化
- Jinja2模板(1) --基本概念,模板引擎,渲染模板
- 推荐一种眼睛舒服的VS环境配置
- VS 2015 C++预处理器 scanf() 使用出错问题