gpt4 book ai didi

从 jsonobj 中提取数据的 Java Stream 表示

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:05 25 4
gpt4 key购买 nike

我有一项服务返回一个包含以下对象的响应

{
"features": [
{
"name": "climateControl"
},
{
"name": "drivingControl"
},
{
"name": "breakeControl",
"type": [
{
"name": "safety"
}
]
},
{
"name": "seatAdjustments",
"type": [
{
"name": "motion"
}
]
},
{
"name": "enginePower",
"type": [
{
"name": "motion"
}
]
}
]
}

现在我需要提取为空或不具有任何名称为“safety”的类型的功能名称

我可以写如下内容

List<Features> features = service.getFeatures();
List<String> refinedList = new ArrayList<>();
for(Feature feature:features){
if(feature.getType==null || feature.getType().getName().equalsIgnoreCase("safety") )
{
refinedList.add(feature.getName());
}
}

寻找一种使用 java 流执行相同操作的方法。

最佳答案

您可以使用filter作为if条件,并mapgetName,然后收集为:

List<String> refinedList = features.stream()
.filter(feature -> feature.getType == null || feature.getType().getName().equalsIgnoreCase("safety"))
.map(feature -> feature.getName())
.collect(Collectors.toList());

关于从 jsonobj 中提取数据的 Java Stream 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58959331/

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