@SuppressWarnings("rawtypes") private void handleCollectionRecurse(Collection c) throws JSONException { writer.array(); for (Object element : c) { if (element instanceof Collection) { handleCollectionRecurse((Collection) element); } else { json.convertAnother(element); } } writer.endArray(); }
@Override protected void nodeCompleted(Object parent, Object node) { Object last = null; if (node == null) { return; } try { int i = ((Integer) node); while (i-- > 0) { last = stack.pop(); if (BuilderMode.ARRAY == last) writer.endArray(); if (BuilderMode.OBJECT == last) writer.endObject(); } } catch (JSONException e) { throw new IllegalArgumentException("invalid element on the stack"); } }