Unexpected token  in JSON at position 0

来源:互联网 发布:碣石鱼刺车行淘宝 编辑:程序博客网 时间:2024/06/06 01:17

最近的一个android项目碰到一个问题,解析web返回的一个json串,出现

Unexpected token  in JSON at position 0

这样的错误,日志打印,字符串本身看上去没有任何问题,只是把字符串放到文本编辑器里,然后按键盘移动光标,发现字符串的第一个字符‘{’之前,确实有一个字符,但是肉眼看不见,这就非常神奇了

于是乎考虑这个字符是特殊字符,那么首先把这个字符拷贝出来,解析成ascii码试试

然后惊奇的发现,这个字符换算成十六进制是0xfeff

找了一圈,发现了这个 http://www.169it.com/article/11324591921744705430.html


问题看上去是找到了,那么处理方式也就出来了

对每次接收到的响应字符串做一个特殊处理,判断下第一个字符,如果是非正常ascii码的,直接去除即可

typescript代码大概长这样:

let firstCode = resp.charCodeAt(0);console.log('response 0:' + firstCode);if (firstCode < 0x20 || firstCode > 0x7f) {console.log('response get sp char');resp = resp.substring(1); // 去除第一个字符console.log('response:' + resp);}




阅读全文
0 0
原创粉丝点击