代码之家  ›  专栏  ›  技术社区  ›  MrD

将JSON对象映射到通用映射对象

  •  1
  • MrD  · 技术社区  · 7 年前

    {"employer": 1, "employee": 15}
    

    然后,我想从中创建一个“合同”对象,将我的雇主与我的员工联系起来。

    目前,我需要这样的东西

    @POST
    public Contract createContract(ContractRequest cr) {
        Employee employee = employeeDao.getEmployeeFromId(cr.getEmployeeId());
        Employer employer = employerDao.getEmployerFromId(cr.getEmployerId());
        Contract c = new Contract();
        c.setEmployer(employer);
        c.setEmployee(employee);
        return c;
    
    }
    

    这有几个缺点:我需要定义一个ContractRequest类,其唯一目的是捕获ID,然后将ID传递给员工/雇主DAO。

    1 回复  |  直到 7 年前
        1
  •  1
  •   ronhash    7 年前

    您可以使用jackson:

    HashMap<String,Object> result = new ObjectMapper().readValue(string, HashMap.class);
    

    或GSON:

    String employer = root.getAsJsonObject().get("employer").getAsString();