У меня следующая структура json
{
"CreateDtTm": "2019-02-06T10:34:06",
"AcftType": "Event",
"EqpCd": "73Y",
"TailNbr": "N26226",
"docType": "TailClndr",
"TailActvy": [
{
"FlightLeg": {
"DepDlyMin": "1",
"TaxiInMin": "0",
"AccumTm": -99000000,
"Indicators": {
"In": "0",
"ArrRtbl": "0",
"Cncl": "1"
}
}
},
{
"FlightLeg": {
"DepDlyMin": "1",
"TaxiInMin": "0",
"AccumTm": -99000000,
"Indicators": {
"In": "1",
"ArrRtbl": "0",
"Cncl": "0"
}
}
}
]
}
Мне нужно перебрать карту и извлечь «FlightLeg» с «Indicators» «IN» как 1. Традиционным способом я реализовал, как показано ниже:
List<LinkedHashMap<String, Object>> tailActiviyList = (List<LinkedHashMap<String, Object>>) aircraftRoutingInfoMap
.get("TailActvy");
for (HashMap<String, Object> flightActivityMap : tailActiviyList) {
if (flightActivityMap.containsKey("FlightLeg")) {
HashMap<String, Object> flightLegMap = (HashMap<String, Object>) flightActivityMap.get("FlightLeg");
HashMap<String, Object> flightIndicators = (HashMap<String, Object>) flightLegMap.get("Indicators");
if(flightIndicators.get("In").equals("0") && flightIndicators.get("Cncl").equals("0"))
{
aircraftRoutingList.add(flightLegMap);
}
}
}
Может ли это быть реализовано с помощью Java Stream.