[java] 자바에서 JSON 데이터의 특정 속성 추출하기

JSON(JavaScript Object Notation)은 데이터를 교환하기 위해 일반적으로 사용되는 경량화된 데이터 형식입니다. 자바에서는 JSON 데이터를 처리하기 위해 다양한 라이브러리를 제공합니다.

우선, JSON 데이터를 자바에서 사용하기 위해서는 해당 데이터를 파싱해야 합니다. 대표적으로 사용되는 JSON 파서는 GSONJackson입니다. 이 중에서 GSON을 사용하여 예시를 작성해보겠습니다.

먼저, GSON 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가하면 됩니다.

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>

그 다음, JSON 데이터를 문자열로 나타내고 이를 GSON 라이브러리를 사용하여 파싱해보겠습니다. 예시로 아래와 같은 JSON 데이터가 있다고 가정해보겠습니다.

{
    "name": "John",
    "age": 30,
    "city": "New York"
}

자바 코드에서 이 JSON 데이터에서 “name” 속성의 값을 추출하려면, 다음과 같이 작성할 수 있습니다.

import com.google.gson.*;

public class JsonParsingExample {
    public static void main(String[] args) {
        String jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";

        JsonParser parser = new JsonParser();
        JsonObject jsonObject = parser.parse(jsonStr).getAsJsonObject();

        String name = jsonObject.get("name").getAsString();
        System.out.println("Name: " + name);
    }
}

위 예시에서는 JsonParser를 사용하여 JSON 데이터를 파싱하고, JsonObject 형태로 변환한 뒤 “name” 속성의 값을 get() 메소드를 사용하여 추출합니다.

위 코드를 실행하면, 다음과 같은 결과가 출력됩니다.

Name: John

이와 같은 방법으로 JSON 데이터의 다른 속성들도 추출할 수 있습니다. JSON 데이터가 중첩되어 있는 경우에는 객체를 내부적으로 계속 파싱하면서 원하는 속성에 접근할 수 있습니다.

이상으로 자바에서 JSON 데이터의 특정 속성을 추출하는 방법에 대해 알아보았습니다. GSON 외에도 Jackson 등 다른 JSON 라이브러리를 사용하여도 동일한 작업을 수행할 수 있으니, 개발자의 선호나 프로젝트의 요구에 따라 적절한 라이브러리를 선택하여 사용하시면 됩니다.