@Test public void testJsonArrayParser() throws Exception { String jsonActivity = "[" + "{\"numberOfComments\":1,\"identityId\":\"d5039b437f0001010011fd153a4fcbd8\",\"liked\":true,}," + "{\"numberOfComments\":2,\"identityId\":\"d5039b437f0001010011fd153a4fcba8\",\"liked\":false,}" + "]"; RestActivity model1 = SocialJSONDecodingSupport.JSONArrayObjectParser(RestActivity.class, jsonActivity).get(0); RestActivity model2 = SocialJSONDecodingSupport.JSONArrayObjectParser(RestActivity.class, jsonActivity).get(1); assertEquals(model1.getIdentityId(), "d5039b437f0001010011fd153a4fcbd8"); assertEquals(model2.getIdentityId(), "d5039b437f0001010011fd153a4fcba8"); String jsonActivity1 = "{\"activities\":[" + "{" + "\"appId\":null,\"identityId\":\"f845f6ed7f000101003ed4d98a09beb3\"," + "\"totalNumberOfComments\":0,\"liked\":false,\"templateParams\":{}," + "\"postedTime\":1309839511830,\"type\":\"DEFAULT_ACTIVITY\"," + "\"posterIdentity\":null,\"activityStream\":null," + "\"id\":\"f884d11a7f000101000230e5c0e8a602\"," + "\"title\":\"hello\",\"priority\":null," + "\"createdAt\":\"Tue Jul 5 11:18:31 +0700 2011\"," + "\"likedByIdentities\":null,\"titleId\":null,\"comments\":null}" + "]}"; JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonActivity1); JSONArray jsonArray = (JSONArray) jsonObject.get("activities"); RestActivity model3 = SocialJSONDecodingSupport.JSONArrayObjectParser( RestActivity.class, jsonArray.toJSONString()) .get(0); assertEquals(model3.getIdentityId(), "f845f6ed7f000101003ed4d98a09beb3"); }
/** * Gets the list activities from response. * * @param response * @return */ private List<RestActivity> getListActivitiesFromResponse(HttpResponse response) { try { JSONObject jsonObject = (JSONObject) JSONValue.parse(getContent(response)); JSONArray jsonArray = (JSONArray) jsonObject.get("activities"); List<RestActivity> activities = SocialJSONDecodingSupport.JSONArrayObjectParser( RestActivity.class, jsonArray.toJSONString()); List<RestActivity> copyRestActivities = new ArrayList(activities); Collections.copy(copyRestActivities, activities); return copyRestActivities; } catch (Exception e) { throw new ServiceException(ActivityService.class, "invalid response", null); } }