将json字符串集合转为实体类

List x= mappingInfoRepository.selectx(engineeringId);
程序打印出的数据是这样的
[oracle.sql.CLOB@1a10de83, oracle.sql.CLOB@307fa71f, oracle.sql.CLOB@cd1f3a5, oracle.sql.CLOB@2a1fcdd0, oracle.sql.CLOB@36e7ead6, oracle.sql.CLOB@7bedf44a, oracle.sql.CLOB@78226c49, oracle.sql.CLOB@2c874fd0, oracle.sql.CLOB@253fa1cc, oracle.sql.CLOB@31644e85, oracle.sql.CLOB@5acf2cc4, oracle.sql.CLOB@4c200182, oracle.sql.CLOB@14c9e80b, oracle.sql.CLOB@7ca9c71, oracle.sql.CLOB@24c03940, oracle.sql.CLOB@6820104b, oracle.sql.CLOB@33f224f4, oracle.sql.CLOB@60881fef, oracle.sql.CLOB@45272087, oracle.sql.CLOB@2dedd220, oracle.sql.CLOB@f9a96ed, oracle.sql.CLOB@2fcd8796, oracle.sql.CLOB@5312b9f0, oracle.sql.CLOB@10ad0d60, oracle.sql.CLOB@4b5bdc66, oracle.sql.CLOB@8e903ac, oracle.sql.CLOB@4e72f678, oracle.sql.CLOB@36cc24db, oracle.sql.CLOB@23616688, oracle.sql.CLOB@6355e52b, oracle.sql.CLOB@3acd1e0f, oracle.sql.CLOB@6df00f71, oracle.sql.CLOB@450d6161]
数据库保存的是这样
{"attr":"zd","highVoltageOrder":"723d7424-2722-4f17-9dba-451432ff15f4","id":"node1","label":"终端1","meterOrder":"723d7424-2722-4f17-9dba-451432ff15f4","terminalAAddress":"202302020001","terminalBAddress":"202302020036","terminalCAddress":"202302020037","terminalOrder":"723d7424-2722-4f17-9dba-451432ff15f4"}
怎么将这些数据转为实体类集合里

参考gpt:
要将这些数据转换为实体类集合,您需要进行以下步骤:

  1. 创建一个实体类,表示您的数据对象。假设您的实体类名为MappingInfo,包含与数据库保存的字段相对应的属性。
    public class MappingInfo {
     private String attr;
     private String highVoltageOrder;
     private String id;
     private String label;
     private String meterOrder;
     private String terminalAAddress;
     private String terminalBAddress;
     private String terminalCAddress;
     private String terminalOrder;
     
     // 构造函数、Getter和Setter方法
    }
    
  2. 遍历您的数据列表,并将每个元素转换为实体类对象。
List x= mappingInfoRepository.selectx(engineeringId);
List<MappingInfo> mappingInfos = new ArrayList<>();

for (Object data : x) {
    if (data instanceof oracle.sql.CLOB) {
        oracle.sql.CLOB clob = (oracle.sql.CLOB) data;
        String json = clob.getSubString(1, (int) clob.length());
        
        // 使用JSON库解析JSON字符串为实体类对象
        MappingInfo mappingInfo = new Gson().fromJson(json, MappingInfo.class);
        
        mappingInfos.add(mappingInfo);
    }
}

在上述代码中,我们使用oracle.sql.CLOB的getSubString方法获取CLOB对象的字符串内容,然后使用JSON库(例如Gson)将JSON字符串解析为实体类对象,并将其添加到mappingInfos集合中。

请确保您的项目中包含相应的JSON库依赖(例如Gson或Jackson),并在代码中进行适当的导入。

可以参考下下面的 ,cloub转String可以参考下这个http://t.csdn.cn/JPu3r
String aa ="{"data":[{"type":"轿车","id":"001","name":"汽车1号"},{"type":"跑车","id":"002","name":"汽车2号"}],"paList":[]}";

JSONObject dataJson = JSONObject.parseObject(aa);
JSONArray dictData = dataJson.getJSONArray("data");
List onlineLists = JSONObject.parseArray(dictData.toJSONString(), Car.class);
System.out.println(onlineLists);
//打印结果:[Car(id=1, name=汽车1号, type=轿车), Car(id=2, name=汽车2号, type=跑车)]