开发中发现, 服务器偶尔会发送错误格式 json 给 Android 客户端, 导致 Android 客户端 json解析失败, 应用异常.
并非服务器有意坑客户端, 而是客户端请求服务器数据时, 除了得到正确 json 数据外, 数据可能还夹杂其它数据.
例如:
thinkPHP 开启'SHOW_PAGE_TRACE'= true
时, 正确的 json 后面会夹杂HTML代码,
解决办法:
1. 将 'SHOW_PAGE_TRACE ' = false
, 设置为false. 不过不太实际, 因为服务器可能会出现问题, 这时候需要开启调试模式
2. 客户端判断 json 解析失败, 使用 try catch 判断json格式
(1) 客户端判断json格式
(2) 客户端通过volley 的 post 方法将数据提交到服务器
(3) 服务器通过 I() 方法获取客户端提交的信息, 这里的 I() 方法是thinkPHP中的一个方法, 是获取所有提交信息的方法, 无论客户端通过任何方式提交, 都会获取其键值对
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。如果你想了解更多相关内容请查看下面相关链接