public static String toJSONArrayStr(ArrayList<THotelData> hotels) throws Exception { JSONArray jsonHotels = new JSONArray(); for (THotelData hotel : hotels) { jsonHotels.put(hotel.toJSON()); } return jsonHotels.toString(2); }
public static void saveHotelsData(String fileName, ArrayList<THotelData> hotels) throws Exception { String jsonData = THotelData.toJSONArrayStr(hotels).toString(); FileWriter fw = new FileWriter(fileName); fw.write(jsonData); fw.close(); }
public static ArrayList<THotelData> loadHotelsData(String fileName) throws Exception { File fin = new File(fileName); FileReader fr = new FileReader(fin); char buffer[] = new char[(int) fin.length()]; fr.read(buffer); String jsonData = new String(buffer); fr.close(); ArrayList<THotelData> hotels = THotelData.fromJSONArrayStr(jsonData); return hotels; }
public static ArrayList<THotelData> fromJSONArrayStr(String jsonHotelsStr) throws Exception { ArrayList<THotelData> hotels = null; JSONArray jsonHotels = new JSONArray(jsonHotelsStr); if (jsonHotels.length() > 0) { hotels = new ArrayList<THotelData>(); for (int n = 0; n < jsonHotels.length(); n++) { THotelData hotel = THotelData.fromJSON((JSONObject) jsonHotels.get(n)); hotels.add(hotel); } } return hotels; }
public static THotelData fromJSON(JSONObject jsonObj) throws Exception { THotelData hotel = new THotelData(); hotel.avgRating = jsonObj.getDouble("avgRating"); hotel.distance = jsonObj.getDouble("distance"); hotel.address = jsonObj.getString("address"); hotel.lat = jsonObj.getDouble("lat"); hotel.lng = jsonObj.getDouble("lng"); hotel.name = jsonObj.getString("name"); hotel.stars = jsonObj.getInt("stars"); hotel.votes = jsonObj.getInt("votes"); hotel.dataLink = jsonObj.getString("dataLink"); JSONArray hRooms = jsonObj.getJSONArray("rooms"); if (hRooms.length() > 0) { hotel.rooms = new ArrayList<TRoomData>(); for (int n = 0; n < hRooms.length(); n++) { TRoomData room = TRoomData.fromJSON(hotel, (JSONObject) hRooms.get(n)); hotel.rooms.add(room); } } hotel.cancelable = jsonObj.getBoolean("cancelable"); hotel.withBreakfast = jsonObj.getBoolean("withBreakfast"); hotel.ranking = jsonObj.getInt("ranking"); hotel.avgDayPrice = jsonObj.getDouble("avgDayPrice"); hotel.avgPrice = jsonObj.getDouble("avgPrice"); hotel.avgCalculatedPrice = jsonObj.getDouble("avgCalculatedPrice"); return hotel; }