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());
반응형