【发布时间】:2021-11-28 13:10:09
【问题描述】:
对于 RechargeResponse 模型,我有一个如下所示的结构:
public class RechargeResponse {
private String code;
private String status;
private Set<OperatorWiseCircles> payload;
// setter and getters
}
这是 OperatorWiseCircles 模型
public class OperatorWiseCircles {
private String operatorName;
private String operatorId;
private List<CircleWisePlan> circleWisePlanLists;
//setter and getters
}
CircleWisePlan 模型类
public class CircleWisePlan {
private String circleName;
private String circleId;
}
下面是我们需要扁平化的示例 json。
{
"code": 200,
"status": "SUCCESS",
"payload": [
{
"operatorName": "VODAFONE",
"operatorId": "VF",
"circleWisePlanLists": [
{
"circleName": "C1",
"circleId": "1"
},
{
"circleName": "C2",
"circleId": "2"
}
]
}
]
}
我希望这是扁平化并将其映射到实体对象,以便我可以将所有这些迭代添加到 Hashset 并将它们全部保存到 DB,我想使用 java8 流来完成。我怎样才能有效地做到这一点。我没有得到正确的示例来解析嵌套的 json 值并使用 map/flatmap 为其创建实体。 结果应该是这样的
例如:["VODAFONE","VF","C1","1"]---> 条目 1 [“沃达丰”,“VF”,“C2”,“2”] ---> ENTRY2
@Entity
public class RechargePlanEntity extends Audit<String>{
@Id
@Column(name="id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name="operator_name")
private String operatorName;
@Column(name="operator_id")
private String operatorId;
@Column(name="circle_name")
private String circleName;
@Column(name="circle_id")
private String circleId;
}
【问题讨论】:
-
你也可以添加你的实体对象吗?
-
也添加了实体
标签: java spring spring-boot java-8 spring-data-jpa