I have tried to parse the data still unable to do .
String jsonData = "[{\"id\":\"7\",\"customer_id\":\"1\",\"product_type_id\":\"1\",\"quantity\":\"1\",\"ordered_on\":\"2015-12-01\",\"product_consumption_type\":\"general\",\"reason\":\"\",\"productType\":{\"id\":\"1\",\"name\":\"Full Cream Milk\",\"description\":\"\",\"measurement\":\"\"}},{\"id\":\"3\",\"customer_id\":\"1\",\"product_type_id\":\"1\",\"quantity\":\"0\",\"ordered_on\":\"2015-12-02\",\"product_consumption_type\":\"general\",\"reason\":\"\",\"productType\":{\"id\":\"1\",\"name\":\"Full Cream Milk\",\"description\":\"\",\"measurement\":\"\"}}]";
This is what I've tried so far:
try {
    JsonArrayRequest req = new JsonArrayRequest(jsonData, new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {
            Log.d(TAG, response.toString());
            try {
                //parsing the value of jsaon array
                for (int i = 0; i < response.length(); i++) {
                    JSONObject details = (JSONObject) response.get(i);
                    String da = details.getString("ordered_on");
                    int qty = Integer.parseInt(details.getString("quantity"));
                    JSONObject prod_det = details.getJSONObject("productType");
                    String na = prod_det.getString("name");
                    ProductType pt = new ProductType(na, qty);
                    Product prod = new Product(da, pt);
                    list.add(prod);
                }
            } catch (JSONException e) {
                e.printStackTrace();
                Toast.makeText(MonthlySummaryActivity.this, "ERROR" + e.getMessage(), Toast.LENGTH_SHORT).show();
                adapter.notifyDataSetChanged();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(MonthlySummaryActivity.this, "error::" + error.getMessage(), Toast.LENGTH_LONG).show();
        }
    });
} catch (Exception ex) {
    ex.printStackTrace();
}
loading.hide();
return list;
 
     
     
     
     
    