@SuppressWarnings("unchecked") @RequestMapping(value = "/map", method = RequestMethod.POST) @ResponseBody public JSONArray mapPost(@ModelAttribute Business biz, Model model) { JSONArray jsonArr = new JSONArray(); JSONObject tmpJson = new JSONObject(); model.addAttribute("biz", biz); biz.setCoordinatesGoogle(); if (biz.isNull()) { thefacade.getGoogleAPIResults(businesses); listOfBusinesses = thefacade.getResults(); // add businesses to array of JSONs for (int i = 0; i < listOfBusinesses.size(); i++) { // re-init tmp JSON Object tmpJson = new JSONObject(); // add attributes tmpJson.put("name", listOfBusinesses.get(i).getName()); tmpJson.put("address", listOfBusinesses.get(i).getAddress()); tmpJson.put("phone", listOfBusinesses.get(i).formatPhoneNumber()); tmpJson.put("rating", listOfBusinesses.get(i).getAverageRating()); tmpJson.put("lat", listOfBusinesses.get(i).getCoordinates().getLatitude()); tmpJson.put("lng", listOfBusinesses.get(i).getCoordinates().getLongitude()); tmpJson.put("website", listOfBusinesses.get(i).getWebsite()); tmpJson.put("openStatus", listOfBusinesses.get(i).getOpenStatus()); // add JSON Object to array jsonArr.add(tmpJson); } // clear list of businesses businesses.clear(); listOfBusinesses.clear(); } else { businesses.add(biz); } return jsonArr; }