如何从JSONArray中删除null元素?

时间:2016-07-07 13:41:59

标签: android arrays

我正在尝试从JsonArray中删除空对象。我有一个ListView,我使用CheckBox选择了一些项目。

需要将已检查的项目添加到JsonArray,并且需要从JsonArray中删除未经检查的项目。

我为此编写了以下代码 未经检查的项目不会从JsonArray中删除null个对象。

代码:

try {

    rootObj = new JSONObject();
    rootObj.put("UserName", UserSharedPreferences.getPreferenceString(Constants.USER_NAME, null));

    JSONArray itemsArray = new JSONArray();

    ArrayList<RaisePoBean> raisePoBeantemplist = new ArrayList(raisePoBeanArrayList);

    for (int i = 0; i < raisePoBeantemplist.size(); i++) {

        if (raisePoBeantemplist.get(i).isCheck()) {

            JSONObject itemsObj = new JSONObject();
            itemsObj.put("ItemCode", raisePoBeantemplist.get(i).getItemName());
            itemsObj.put("ItemName", raisePoBeantemplist.get(i)
                    .getItemCode());
            itemsObj.put("Qty", "" + raisePoBeantemplist.get(i).getQty());
            itemsObj.put("Rate", "" + raisePoBeantemplist.get(i).getRate());
            itemsObj.put("Category", raisePoBeantemplist.get(i).getCatogory());
            itemsObj.put("WantDate", raisePoBeantemplist.get(i).getDate());
            itemsArray.put(i, itemsObj);
        }
    }
    rootObje.put("model",itemsObj);
    System.out.println("Final object is====>" + rootObj.toString());
} catch (ArrayIndexOutOfBoundsException exception) {
    exception.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
} 

1 个答案:

答案 0 :(得分:1)

以下行是为项目

定义特定索引
itemsArray.put(i, itemsObj); // Put item at specific index

而只是将项目添加到最后

itemsArray.put(itemsObj);  // Put items at end of array