示例#1
0
  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;
  }