[java] 자바에서 JSON 데이터의 중첩된 객체 접근하기

JSON 데이터는 많은 웹 애플리케이션에서 매우 일반적으로 사용됩니다. 자바에서 JSON 데이터의 중첩된 객체에 접근하는 방법을 알아보겠습니다.

라이브러리 가져오기

JSON 데이터를 다루기 위해 먼저 JSON 라이브러리를 가져와야 합니다. 여러 가지 JSON 라이브러리가 있지만, 여기에서는 Jackson 라이브러리를 사용합니다.

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

JSON 데이터를 문자열로 읽기

JSON 데이터는 일반적으로 문자열로 제공됩니다. 우리는 먼저 JSON 데이터를 문자열로 읽어와야 합니다.

String jsonString = "{ \"name\": \"John\", \"age\": 30, \"address\": { \"city\": \"Seoul\", \"country\": \"South Korea\" } }";

JSON 데이터 파싱하기

JSON 데이터를 라이브러리를 사용하여 파싱해야 합니다.

ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(jsonString);

중첩된 객체에 접근하기

이제 JSON 데이터의 중첩된 객체에 접근할 수 있습니다. 예를 들어, 우리는 address 객체의 city 속성에 접근하고 싶을 때 다음과 같이 할 수 있습니다.

String city = jsonNode.get("address").get("city").asText();

위의 코드에서 jsonNode.get("address")를 통해 address 객체에 접근하고, get("city")를 통해 city 속성에 접근하고, asText()를 통해 해당 속성의 값을 가져옵니다.

예외 처리하기

JSON 데이터의 중첩된 객체에 접근할 때는 예외 처리를 해주는 것이 좋습니다. 예를 들어, 만약 address 객체가 없는 경우를 처리해야 할 때는 다음과 같이 할 수 있습니다.

if (jsonNode.has("address")) {
    String city = jsonNode.get("address").get("city").asText();
} else {
    // address 객체가 없는 경우에 대한 처리
}

결론

이제 자바에서 JSON 데이터의 중첩된 객체에 접근하는 방법에 대해 알아보았습니다. Jackson 라이브러리를 사용하여 JSON 데이터를 파싱하고, 중첩된 객체에 접근하여 원하는 값을 가져올 수 있습니다.