public Object jsonArrayGet(JSONArray array, int index) throws JSONException { Object value = array.get(index); if (value instanceof JSONArray) value = JSONHelper.toList((JSONArray) value); else if (value instanceof JSONObject) value = JSONHelper.toPairs((JSONObject) value); return value; }
private static Pair toList(JSONArray array) throws JSONException { Pair pair = Pair.EMPTY; for (int i = array.length() - 1; i >= 0; i--) { Object item = array.get(i); if (item instanceof JSONArray) item = JSONHelper.toList((JSONArray) item); else if (item instanceof JSONObject) item = JSONHelper.toPairs((JSONObject) item); pair = new Pair(item, pair); } return pair; }
public Object get(Context context, JSONObject obj, String key) { try { Object value = obj.get(key); if (value instanceof JSONArray) value = JSONHelper.toList((JSONArray) value); else if (value instanceof JSONObject) value = JSONHelper.toPairs((JSONObject) value); return value; } catch (JSONException e) { LogManager.getInstance(context).logException(e); } return null; }
private static Pair toPairs(JSONObject json) throws JSONException { Pair list = Pair.EMPTY; JSONArray names = json.names(); for (int i = 0; i < names.length(); i++) { String name = names.getString(i); Object item = json.get(name); if (item instanceof JSONArray) item = JSONHelper.toList((JSONArray) item); else if (item instanceof JSONObject) item = JSONHelper.toPairs((JSONObject) item); list = new Pair(new Pair(name, item), list); } return new Pair(new Pair(Symbol.QUOTE, new Pair(list, Pair.EMPTY)), Pair.EMPTY); }