직원의지도 소품에서 id 값을 검색하는 방법

존 :

아래 직원은 내가 내부 직원의 객체 인 맵 obejct의 id 값을 전달해야, 개체 목록을 받아들이는 방법이다. 나는, pls는 아래에 Java8 새로운 모양입니다 :

class Service {
     void meth(List<Employee> employees){
                employees.stream().flatMap(e -> map = e.getProps())
                .keySet().stream())     
                .filter(s -> s.equals("id"))         
                .allMatch(idValue -> isIdValid(empName, idValue).test(id)); //how to pass empName and  "id" Value here from employee map props object??
        }


      boolean isIdValid(String name, String id){
         //validation of id here
      }
    }


class Employee{
    String name;
    Map<String, Object> props;
}

직원 JSON

{
    "name": "name1",
    "props": {
        "id": "123", //this value has to retreive
        "field2": "hey"
    }
}

나는 isIdValid 방법, 어떻게 PLS에 empName하고 "ID"값을 전달해야합니까?

또한 :

당신은을 사용할 수 있습니다 entrySet로 :

return employees.stream()
                .flatMap(e -> e.getProps().entrySet().stream())
                .filter(s -> s.getKey().equals("id"))
                .allMatch(e -> isIdValid(idValue).test(e.getValue())); 

편집 : - 당신이 찾고있는 것처럼 업데이트 된 질문으로 보인다

return employees.stream()
        .filter(emp -> emp.getProps().containsKey("id"))
        .allMatch(emp -> isIdValid(emp.getName(),
                (String) emp.getProps().get("id")));

추천

출처http://43.154.161.224:23101/article/api/json?id=24974&siteId=1