[java] HttpClient의 응답 데이터를 파싱하는 방법은?
- HttpClient를 사용하여 요청을 보냅니다.
HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://example.com")) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
- 응답 데이터를 파싱합니다. 일반적으로 JSON 형식의 데이터를 파싱하는 경우에는 JSON 라이브러리인 Jackson이 많이 사용됩니다.
import com.fasterxml.jackson.databind.ObjectMapper;
// JSON 데이터 파싱을 위한 ObjectMapper 생성
ObjectMapper mapper = new ObjectMapper();
// 응답 데이터를 파싱하여 자바 객체로 변환
YourResponseData responseData = mapper.readValue(response.body(), YourResponseData.class);
위의 코드에서 YourResponseData
는 응답 데이터를 매핑할 자바 클래스입니다. 해당 클래스의 멤버 변수와 JSON 데이터의 키 이름이 일치해야 합니다.
- 파싱된 데이터를 활용합니다.
System.out.println(responseData.getData());
응답 데이터의 구조에 따라 필요한 정보를 추출하여 활용할 수 있습니다.
참고 문서:
- HttpClient 문서: https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html
- Jackson 라이브러리 문서: https://github.com/FasterXML/jackson