今天开发项目用了公司新入的测试机华为mate 10,一开始调试都没有问题,运行了几次后APP一启动就卡在启动页不动了,打印了一下日志看了一下发现报如下异常:
org.json.JSONException: End of input at character 0 of
导致这个异常信息的错误是因为在
JSONObject object=new JSONObject(jsonString); 1 这行代码。注意的是jsonString的内容为“”,而不是null
先说解决方案:
- if(jsonStirng!=null&&!"".equals(jsonString)){
- //TODO
- }
- 复制代码
当前华为和小米应该是国内较为流行的两大机型,有些API的细节还是有点区别的!你以为仅仅是json解析有差别吗?你错了。。
之前做webView的桥接的时候也遇到了,点击分享的桥接! 华为有一款机子收到从后台传过来的数据(中文字符串),是残缺Base64编码过的数据(少了“/”),结果用户一分享,一大堆字母数字!解决的办法很麻烦,以为当时是版本的迭代升级,还必须要兼容之前的版本。所以只好先判断是不是中文,如果是分享出去,如果不是则将残缺的Base64编码补全,转中文再分享出去!