1、错误消息及截图
这个很搞笑也很纠结,今天一开发妹子,发现一个问题:
服务端返回字符串"{\"phone\":\"15000000000\"}";
使用$.parseJSON(json)解析成JS对象,结果报错 SyntaxError: JSON Parse error: Unrecognized token '
2、歪路
刚开始第一眼以为应该是反斜杠的问题,把反斜杠replace掉吧,结果这是个大坑呀;
然后我直接在调试器上调试JSON.parse("{\"phone\":\"15000000000\"}"); 这样居然没问题;
左看看,右看看,也没发现啥不同;
后来我取这个字符串最后一位就是不然是}字符,而是空字符;
懂了不,那是因为服务端返回的字符串居然带着\0,\0是java字符串默认结尾的字符;
3、正解
可以让服务端改,也可以使用str.replace(/\0/g,'')把他替换掉。
4、我是一名前端
最近在使用React-Native,感兴趣的童鞋可以一块玩玩。