开发中发现, 服务器偶尔会发送错误格式 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 方法将数据提交到服务器
(2) 服务器通过 I() 方法获取客户端提交的信息, 这里的 I() 方法是thinkPHP中的一个方法, 是获取所有提交信息的方法, 无论客户端通过任何方式提交, 都会获取其键值对