android端,如何防止服务器json数据变化导致的异常,比如忽然多一个或者少一个字段,字符串类型变成一个对象类型等等?
ringa_lee2017-04-17 17:32:57
这个应该和服务端说好,不应爱轻易变的。如果一定要变,可以用gson建实体类的方式解析,这样增加的字段不会对程序有影响,要改也好改。数据解析也可以写两个方法,一个是解析不变的字段,一个是可能会改变的,这样即使改变了也不会影响正常运行,只是无法得到改变的字段
PHP中文网2017-04-17 17:32:57
我们只对异常做了处理,服务器返回异常,把根布局GONE掉,然后给个提示。正式环境不应该出现json格式变化这种很容易引发崩溃的问题。当然如果你们确实会有这种情况,在initData的时候加一个方法,逐个判空。没想到什么很精妙的方法...
巴扎黑2017-04-17 17:32:57
一般情况下把可能出现的所有字段都写到bean里面,然后都给个初始值。
如果字段的类型不确定,直接用Object和List<Object>就可以,到时候判断一下类型。
我还遇到过更夸张的,List里面的元素都有不同类型,当时我用的是List<?>
天蓬老师2017-04-17 17:32:57
向你的老板举报,同事乱TM改后台。
——解决这种问题,很没意义,这意味着写额外的代码去处理一些人为的蠢事。
这种事情应该是在团队沟通时解决的。该用沟通解决的事情,就不要用技术去解决,有如头痛医脚。
高洛峰2017-04-17 17:32:57
1、找到问题的根源,是服务端随意更改还是说当初给的对象字段没有说清楚
2、这是涉及服务端的契约性,需要确定;如果服务端违反契约性,你直接找你的leader,让他去跟服务端方面协调