java - 如何将 JSON (org.jooq.JSON) 转换为 Java 对象 (POJO)

标签 java json spring-boot jooq

我尝试了很多方法来找到将 JSON 对象 (org.jooq) 转换为 java 对象 (pojo) 的方法。我正在使用 jOOQ 与数据库对话来开发 spring-boot 应用程序。

实际上我在数据库中有一个employee_details表,如下所示:

enter image description here

上表中有员工详细信息,该表中的 emp_address 列类型为 JSON 数据类型

现在我想从 id=X 的表中检索一个 employee_details,并且我尝试将详细信息存储在下面的 java 对象类 (POJO) 中。

EmployeeDetails 类:

@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;
}

EmployeeAddress 类:

@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeAddress {

    private String hNo;
    private String city;
    private String pincode;
}

但是当我尝试从表中检索详细信息时,我将 emp_address(表中的 json 数据类型)存储在 Json(org.jooq) 中,如下所示。

EmployeeDetailsJSONJooQ 类:

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 映射这些对象。请帮帮我

最佳答案

如果您对如何将 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);

关于java - 如何将 JSON (org.jooq.JSON) 转换为 Java 对象 (POJO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70750733/

相关文章:

java - android 中简单的 fragment tabhost

javascript - 从 Neo4j 解析复杂的 JSON 结果

angular - 设置 Cookie header 未出现在 Google Chrome 中

spring-boot - Spring Batch从相同的执行和步骤重新启动未完成的作业

java - 通过 ID 查找元素,其中 ID 是动态的

java - 如何在 Spring MVC 中获取 JSON 作为响应?

java - 线程 "main"org.openqa.selenium.WebDriverException : Returned value cannot be converted to WebElement: {ELEMENT=1} 中出现异常

javascript - 如何使用 bbox 加载 Open layers 3 geojson 矢量图层?

c# - 两种类型的变量

mysql - JDBC Spring session |委托(delegate)人为空