gpt4 book ai didi

java - 如何使用具有相同值结构的动态键数反序列化列表?

转载 作者:行者123 更新时间:2023-12-04 15:13:12 25 4
gpt4 key购买 nike

我正在尝试找到一种最佳方法来反序列化所有包含相同值对象结构的动态字段:

"data": {
"lastUpdate": 1605299294253,
"tableData": [
{
"recordId": 1,
"isSelected": 1,
"myKey1": {
"valueRef": 72,
"value": "Some value"
},
"myKey2": {
"valueRef": 0,
"value": "123"
}
}
]
}

对于tableData JSON数组,我试过这种方法没有成功:

import lombok.Data;
import java.util.Map;

@Data
public class TableRowDataVO {
private Integer recordId;
private Integer recordStatus;
private Map<String, TableRowDetailVO> columnData1;
private Map<String, TableRowDetailVO> columnData2;
}

此类嵌套到另一个类中以将整个 JSON 主体包含在 data 中:

public class TabularDataDTO {
private Long lastUpdate;
private List<TableRowDataVO> tableData;
}

并且每个动态字段都包含以下类型的相同对象:

public class TableRowDetailVO {
private Integer valueRef;
private String value;
}

也不能保证只有 2 个动态 key 。它可以是 0 到 TableRowDataVO 中的许多动态键,但如果有限制要求我使用 2,我可以这样做,但如果 0 到许多动态字段是可能的,那将很棒。我正在尝试将 ObjectMapper 与 TypeReference 用作 TabularDataVO 但它会引发异常。设计我的对象以使 TabularDataVO 可以被映射器反序列化的正确方法是什么?

最佳答案

因为 key 是动态的,所以当您处理数据时,您需要一些特殊的过程。

@Data
public class NewDTO {
private Long lastUpdate;
private List<Map<String, Object>> tableData;
}

关于java - 如何使用具有相同值结构的动态键数反序列化列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64830165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com