[java] 자바에서 JSON 데이터의 중복값을 포함하지 않은 값 추출하기

JSON은 데이터를 효율적이고 구조화된 형식으로 표현하는 데 사용되는 형식입니다. 자바에서는 JSON 데이터를 다룰 때 중복값을 포함하지 않은 고유한 값을 추출해야 하는 경우가 종종 있습니다. 이번 블로그 포스트에서는 자바에서 JSON 데이터의 중복값을 포함하지 않은 값을 추출하는 방법에 대해 알아보겠습니다.

1. 의존성 추가

JSON 데이터를 다루기 위해 먼저 json-simple 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용한다면 pom.xml에 다음 의존성을 추가할 수 있습니다:

<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>

2. JSON 데이터 읽기

JSON 데이터를 읽기 위해 JSONParser 클래스를 사용합니다. 다음 코드는 JSON 데이터를 문자열로 읽어와서 JSONParser로 파싱하는 예제입니다:

import org.json.simple.*;
import org.json.simple.parser.*;

public class JSONExample {
    public static void main(String[] args) {
        String jsonString = "{\"employees\":[{\"name\":\"John\", \"age\":30, \"department\":\"IT\"}, {\"name\":\"Alex\", \"age\":35, \"department\":\"HR\"}, {\"name\":\"Sam\", \"age\":27, \"department\":\"Finance\"}, {\"name\":\"John\", \"age\":30, \"department\":\"IT\"}]}";
        
        JSONParser parser = new JSONParser();
        try {
            Object obj = parser.parse(jsonString);
            JSONObject jsonObject = (JSONObject) obj;
            
            JSONArray employees = (JSONArray) jsonObject.get("employees");
            
            // 중복값을 포함하지 않은 고유한 값 추출
            HashSet<String> uniqueNames = new HashSet<>();
            
            for (Object employee : employees) {
                JSONObject empObject = (JSONObject) employee;
                String name = (String) empObject.get("name");
                uniqueNames.add(name);
            }
            
            // 고유한 값 출력
            for (String name : uniqueNames) {
                System.out.println(name);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 jsonString에는 JSON 데이터가 포함된 문자열이 있습니다. JSONParser를 사용하여 이 문자열을 파싱한 후 고유한 값을 추출하고, 고유한 값을 HashSet에 저장합니다.

3. 결과 확인

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

John
Alex
Sam

JSON 데이터에서 중복값을 포함하지 않은 고유한 값만 출력되는 것을 확인할 수 있습니다.

결론

이번 포스트에서는 자바에서 JSON 데이터의 중복값을 포함하지 않은 고유한 값 추출하는 방법을 알아보았습니다. JSON 데이터를 파싱하여 필요한 값을 추출하는 과정에서 HashSet을 사용하여 중복값을 제거할 수 있습니다. 이를 활용하여 JSON 데이터를 효율적으로 다룰 수 있습니다.

참고 자료