Пример #1
0
  @SuppressWarnings("unchecked")
  @Override
  public Root parse(String filePath)
      throws FileNotFoundException, IOException, ParseException, java.text.ParseException,
          MyException {

    if (filePath == null) {

      throw new MyException("ParserJSON ERROR file not found");
    }

    Pattern pattern = Pattern.compile("\\.(json)");

    Matcher matcher = pattern.matcher(filePath);

    if (!matcher.find()) {

      throw new MyException("ParserJSON ERROR file not json format");
    }

    Root root = new Root();

    Employees employees;

    JSONParser parser = new JSONParser();

    FileReader fileReader = new FileReader(filePath);

    JSONObject object = (JSONObject) parser.parse(fileReader);

    root.setName((String) object.get("name"));

    root.setLocation((String) object.get("location"));

    root.setBaseSalary((long) object.get("baseSalary"));

    JSONArray jsonarray = (JSONArray) object.get("employees");

    for (int i = 0; i < jsonarray.size(); i++) {

      employees = new Employees();

      JSONObject jsonObject = (JSONObject) jsonarray.get(i);

      employees.setId((long) jsonObject.get("id"));

      employees.setName((String) jsonObject.get("name"));

      employees.setDegree((String) jsonObject.get("degree"));

      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

      employees.setDateOfBirth(format.parse((String) jsonObject.get("dateOfBirth")));

      long yearEperienceLong = ((long) jsonObject.get("yearEperience"));
      int yearEperience = (int) yearEperienceLong;
      employees.setYearEperience(yearEperience);

      JSONArray emailsarray = (JSONArray) jsonObject.get("emails");

      employees.setEmails((ArrayList<String>) emailsarray);

      employees.setVisible((boolean) jsonObject.get("visible"));

      root.getEmployees().add(employees);

      employees = null;
    }

    fileReader.close();

    return root;
  }