Android JSONArray.remove ()报错

来源:互联网 发布:js继承面试题详解 编辑:程序博客网 时间:2024/05/29 15:55

服务端返回数据时,多返回了很多不需要的东西,而且跟以前的字段还冲突(原本是一个放数组的字段,在一些不规则的返回值里面,可能某个item的数组就变成了string,最可恨的还是后台解决问题太慢了。为了不影响测试,只好自己手动写代码删除,等后台改好了再删除)不然fastjson解析就直接崩溃了。所以在加载之前,尝试使用jsonarray删掉一些能引起冲突的。

在得到一个jsonArray对象的时候,根据判断条件调用jsonArray.remove后,编译出错,错误提示android NoSuchMethodError: org.json.JSONArray.remove,网上解释说是api版本太低,我是在6.0下编译,模拟器是4.0的,觉得有这种可能。于是就治好重新创建一个jsonarray,然后把符合条件的都赋值给它,然后把它返回出去。

贴上解析方法

  public JSONArray parseoldData(JSONArray array){        JSONArray mJsonArray  = new JSONArray();        for(int i=0;i<array.length();i++){            try            {   //项目逻辑判断
                JSONObject obj=array.getJSONObject(i);                if(obj.has("object_type")){                    if(obj.getString("object_type").equals("5")){                        mJsonArray.put(obj);                    }                }            }catch (Exception e){                e.printStackTrace();            }        }        return mJsonArray;    }


0 0