Darren's Devlog

[JsonNode] JsonNode을 Stream으로 변환하기 본문

Java

[JsonNode] JsonNode을 Stream으로 변환하기

Darren Gwon 2023. 2. 2. 02:07
반응형

안녕하세요.

Array형식의 응답 값을 간편하게 다루기 위한 고민을 했습니다.

JsonNode는 Iterable 인터페이스를 구현하고 있어, Stream으로 변환하여 처리하였습니다.

 

StreamSupport 클래스의 stream() 메서드로 변환이 가능합니다.

StreamSupport.stream(jsonNode.spliterator(), false);

 

아래는 응답값을 간편하게 특정 조건으로 필터링한 후 List로 반환해주는 예제입니다.

JsonNode responseNode = restTemplate.exchange(uri, HttpMethod.POST, entity, JsonNode.class).getBody();
List<JsonNode> visitorNodeList = StreamSupport.stream(responseNode.spliterator(), false)
                        .filter(x -> x.get("age").asInt() < maxAge)
                        .collect(Collectors.toList());

 

반응형
Comments