如何将 JSON (org.jooq.JSON) 转换为 Java 对象 (POJO)
How to convert JSON (org.jooq.JSON) to Java Object (POJO)
我尝试了很多方法来找到将 JSON 对象 (org.jooq) 转换为 java 对象 (pojo) 的方法。我正在开发 spring-boot 应用程序,使用 jOOQ 与数据库对话。
实际上我在数据库中有一个 employee_details table 如下所示:
上面table有员工详细信息,tableemp_address列类型是JSON数据类型
现在我想从 table 中检索一个 employee_details,其中 id=X 并且我试图将详细信息存储在下面的 java 对象 class (POJO) 中.
员工详情class:
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeDetails {
private int id;
private String emp_name;
private String emp_email;
private String emp_mobile;
private EmployeeAddress emp_address;
}
员工地址class:
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeAddress {
private String hNo;
private String city;
private String pincode;
}
但是当我尝试从 table 中检索详细信息时,我在 Json 中存储了 emp_address(这是 table 中的 json 数据类型) (org.jooq)如下图class.
员工详情JSONJooQ class:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jooq.JSON;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeDetailsJSONJooQ {
private int id;
private String emp_name;
private String emp_email;
private String emp_mobile;
private JSON emp_address;
}
在这里我想检索 EmployeeDetails 对象中的员工详细信息或帮助我将 EmployeeDetails 对象转换为 EmployeeDetailsJSONJooQ 对象或如何使用 Mapstruct[=47 映射这些对象=].请帮帮我
如果你对 JSON 应该如何映射到你的 POJO 不太有意见,那么将 Gson 或 Jackson 放在你的类路径上就足够了,jOOQ 会选择它并映射 JSON 自动添加到您的 POJO,请参阅 this section of the manual about the ConverterProvider
。
例如这应该开箱即用:
List<EmployeeDetails> list =
ctx.selectFrom(EMPLOYEE_DETAILS)
.fetchInto(EmployeeDetails.class);
我尝试了很多方法来找到将 JSON 对象 (org.jooq) 转换为 java 对象 (pojo) 的方法。我正在开发 spring-boot 应用程序,使用 jOOQ 与数据库对话。
实际上我在数据库中有一个 employee_details table 如下所示:
上面table有员工详细信息,tableemp_address列类型是JSON数据类型
现在我想从 table 中检索一个 employee_details,其中 id=X 并且我试图将详细信息存储在下面的 java 对象 class (POJO) 中.
员工详情class:
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeDetails {
private int id;
private String emp_name;
private String emp_email;
private String emp_mobile;
private EmployeeAddress emp_address;
}
员工地址class:
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeAddress {
private String hNo;
private String city;
private String pincode;
}
但是当我尝试从 table 中检索详细信息时,我在 Json 中存储了 emp_address(这是 table 中的 json 数据类型) (org.jooq)如下图class.
员工详情JSONJooQ class:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jooq.JSON;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeDetailsJSONJooQ {
private int id;
private String emp_name;
private String emp_email;
private String emp_mobile;
private JSON emp_address;
}
在这里我想检索 EmployeeDetails 对象中的员工详细信息或帮助我将 EmployeeDetails 对象转换为 EmployeeDetailsJSONJooQ 对象或如何使用 Mapstruct[=47 映射这些对象=].请帮帮我
如果你对 JSON 应该如何映射到你的 POJO 不太有意见,那么将 Gson 或 Jackson 放在你的类路径上就足够了,jOOQ 会选择它并映射 JSON 自动添加到您的 POJO,请参阅 this section of the manual about the ConverterProvider
。
例如这应该开箱即用:
List<EmployeeDetails> list =
ctx.selectFrom(EMPLOYEE_DETAILS)
.fetchInto(EmployeeDetails.class);