我在2.4.5版本中并不会出现无法解析json的情况 升级到2.4.6后使用JSON.parse()方法解析json文件就报错Uncaught SyntaxError: Unexpected end of JSON input, location 但单独只在ios端是太长了吗? 引擎组是否在2.4.6修改了这个方法。一样的代码安卓端却没有任何问题。。。帮忙解决一下。
你好,方便提供个简单的 demo 吗?
应该是长度上有问题
这串json 是服务端使用WebSocket传到前端的
目前我的项目中同样的代码
安卓打印的是:
{“msgType”:“msgContestAnswer”,“msgData”:{“question”:“7”,“totalQuestionNum”:10,“pUserHp”:70,“nextType”:2,“type”:2,“anwserList”:[{“answerId”:192842,“context”:“3”},{“answerId”:360286,“context”:“1”},{“answerId”:251497,“context”:“2”}],“nextQuestionId”:“473229160945373184”,“userId”:“0”,“roomId”:“579829714769305600”,“cUserHp”:70,“answerSize”:6,“picUrl”:"",“questionIndex”:5,“answer”:"",“context”:"",“tag”:“检索”,“pUserId”:“446083190810640384”,“questionType”:0,“matchId”:0}}
ios打印出来的是:
{“msgType”:“msgContestAnswer”,“msgData”:{“question”:“7”,“totalQuestionNum”:10,“pUserHp”:70,“nextType”:2,“type”:2,“anwserList”:[{“answerId”:192842,“context”:“3”},{“answerId”:360286,“context”:“1”},{“answerId”:251497,“context”:“2”}],“nextQuestionId”:“473229160945373184”,“userId”:“0”,“roomId”:“579829714769305600”,“cUserHp”:70,“answerSize”:6,“picUrl”:"",“questionIndex”:5,“answer”:"",“context”:"",“tag”:“检索”,“pUserId”:“446083190810640384”,“questionType”:0,“matchId”
ios少了:0}} 这4个字符;导致json解析出错。。
我查询试一下是不是WebSocket 接受上的问题
升级2.4.6后websocket原生接收较长字符串会接收不全 、网页没有问题、模拟器与iOS就百分百接收不全、不知为何安卓也没有问题. 这个给不了demo 我试一天了要.看来得降回2.4.5
是的,我用3.3也遇到了,网页安卓没问题,模拟器和苹果有问题。同一工程2.45没问题
你有什么临时的解决方案吗? 降版本又要重新接sdk。。。。。
暂时没有,我是工程准备升级3.3,刚试第一个界面发现的,我的工程都有低版本备份的,所以不影响
试试合并下这个PR,长度计算代码没有同步进 2.4.6
3.3.0和3.3.1也有这个问题,也需要修复
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。
合并引擎 PR 以及定制模拟器后,问题还存在吗?
哪里有定制模拟器方案 修改那行底层代码 是解决了ios端的问题 模拟器 怎么改?