Try this way, hope it helps you solve your problem.
try{ JSONArray jsonArray = new JSONArray("[[{\"name\":\"Banking\",\"data\":[{\"vendor_name\":\"SBI\",\"vendor_id\":\"1\"},{\"vendor_name\":\"ICICI\",\"vendor_id\":\"2\"},{\"vendor_name\":\"BOB\",\"vendor_id\":\"3\"}],\"count\":4}]]"); HashMap<String,Object> responseMap = new HashMap<String, Object>(); ArrayList<HashMap<String,String>> dataList = new ArrayList<HashMap<String, String>>(); responseMap.put("name",jsonArray.getJSONArray(0).getJSONObject(0).getString("name")); for(int i=0;i<jsonArray.getJSONArray(0).getJSONObject(0).getJSONArray("data").length();i++){ HashMap<String,String> dataRow = new HashMap<String, String>(); dataRow.put("vendor_name",jsonArray.getJSONArray(0).getJSONObject(0).getJSONArray("data").getJSONObject(i).getString("vendor_name")); dataRow.put("vendor_id",jsonArray.getJSONArray(0).getJSONObject(0).getJSONArray("data").getJSONObject(i).getString("vendor_id")); dataList.add(dataRow); } responseMap.put("data",dataList); responseMap.put("count",jsonArray.getJSONArray(0).getJSONObject(0).getString("count")); System.out.print("name : "+responseMap.get("name").toString()); ArrayList<HashMap<String,String>> list = (ArrayList<HashMap<String,String>>)responseMap.get("data"); for (HashMap<String,String> row : list){ System.out.print("vendor_name : "+row.get("count")); System.out.print("vendor_id : "+row.get("count")); } System.out.print("count : "+responseMap.get("count").toString()); }catch (Throwable e){ e.printStackTrace(); }
source share