开发中发现, 服务器偶尔会发送错误格式 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格式

2a4425b26b25bc47ca46900808b3aed3.png

(2) 客户端通过volley 的 post 方法将数据提交到服务器

65888365046a0ee9ba824bdb8c2d90a8.png

(3) 服务器通过 I() 方法获取客户端提交的信息, 这里的 I() 方法是thinkPHP中的一个方法, 是获取所有提交信息的方法, 无论客户端通过任何方式提交, 都会获取其键值对

feedbe7facd7523afbc5de162dac4104.png

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对编程圈的支持。如果你想了解更多相关内容请查看下面相关链接

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐