String response = RequestManager.makeRequest(); StringBuilder sbResponse = new StringBuilder(); try { JSONArray jsonArray = new JSONArray(response); for (int i = 0; i < jsonArray.length(); i++) { Category c=new Category(); JSONObject jsonObject = jsonArray.getJSONObject(i); c.setTitle(jsonObject.getString("title")); JSONArray nestedArray = jsonObject.getJSONArray("subs"); for (int j = 0; j < nestedArray.length(); j++) { SubCategory s=new SubCategory(); JSONObject nestedObject= nestedArray.getJSONObject(i); s.setId(nestedObject.getString("id")); s.setTitle(nestedObject.getString("title")); } c.setSubCategory(s); } Log.d(LOG_TAG, sbResponse.toString()); } catch (JSONException e) { e.printStackTrace(); }