private List<Job> getJobs() { List<Job> jobs = new ArrayList(); ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); try { WebResource service = client.resource(getBaseURI()); String result = service.path("jobs").accept(MediaType.APPLICATION_JSON).get(String.class); if (result != null) { JSONObject jsonRes = new JSONObject(result); JSONArray jobsArry = jsonRes.getJSONArray("jobs"); if (jobsArry.length() > 0) { for (int i = 0; i < jobsArry.length(); i++) { JSONObject jobsObj = jobsArry.getJSONObject(i); Job job = new Job(); job.setTitle(jobsObj.getString("title")); job.setUrl(jobsObj.getString("angellist_url")); // Created date Calendar dtCal = DatatypeConverter.parseDateTime(jobsObj.getString("created_at")); job.setCreated(dtCal.getTime()); // Startup name if (!jobsObj.isNull("startup")) { JSONObject startup = jobsObj.getJSONObject("startup"); if (!startup.isNull("name")) job.setCreatorName(startup.getString("name")); if (!startup.isNull("logo_url")) job.setCreatorLogo(startup.getString("logo_url")); if (!startup.isNull("thumb_url")) job.setCreatorThumbnail(startup.getString("thumb_url")); if (!startup.isNull("product_desc")) job.setDesc(startup.getString("product_desc")); } // add skills if (!jobsObj.isNull("tags")) { JSONArray tagsArry = jobsObj.getJSONArray("tags"); if (tagsArry.length() > 0) { List<Skill> skills = new ArrayList(); for (int j = 0; j < tagsArry.length(); j++) { JSONObject tag = tagsArry.getJSONObject(j); String tagType = tag.getString("tag_type"); if (tagType.equalsIgnoreCase("SkillTag")) { Skill skill = new Skill(tag.getString("display_name")); skills.add(skill); } } job.setSkills(skills); } } jobs.add(job); } } } } catch (Exception ex) { ex.printStackTrace(); } return jobs; }