private Session parseJson(final String json) { Session session = null; try { JSONObject jsonObject = new JSONObject(json); session = new Session(); session.setIp(jsonObject.optString("ip")); session.setDomain(jsonObject.optString("domain")); session.setPath(jsonObject.optString("path")); session.setUserAgent(jsonObject.optString("userAgent")); session.setDateTime(parseDateFormat.parse(jsonObject.optString("dateTime"))); Map<String, BasicClientCookie> cookies = new HashMap<String, BasicClientCookie>(); JSONObject cookiesObject = jsonObject.optJSONObject("cookies"); JSONArray cookieArray = cookiesObject.names(); if (cookieArray != null) { for (int i = 0; i < cookieArray.length(); i++) { JSONObject cookieObject = cookiesObject.getJSONObject(cookieArray.getString(i)); BasicClientCookie cookie = new BasicClientCookie( cookieObject.optString("name"), cookieObject.optString("value")); cookie.setDomain(cookieObject.optString("domain")); cookies.put(cookieArray.getString(i), cookie); } } session.setCookies(cookies); } catch (JSONException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } return session; }