[java] 자바에서 JSON 데이터의 배열 다루기

자바에서는 JSON 데이터의 배열을 다루는 작업이 중요합니다. JSON 배열은 여러 개의 요소를 순서대로 저장하는 데이터 구조입니다. 이러한 배열을 다룰 때는 자바의 JSON 라이브러리를 사용하여 쉽게 처리할 수 있습니다. 이제 자바에서 JSON 배열을 다루는 방법에 대해 알아보겠습니다.

1. JSON 라이브러리 추가하기

먼저 JSON 데이터를 다루기 위해 자바에서 제공하는 JSON 라이브러리를 추가해야 합니다. 대표적으로 Gson, Jackson 등이 있습니다. 이 예제에서는 Gson 라이브러리를 사용할 것입니다.

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

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다.

dependencies {
    implementation 'com.google.code.gson:gson:2.8.7'
}

의존성을 추가한 후 빌드 도구를 사용해 프로젝트를 업데이트합니다.

2. JSON 배열 파싱하기

JSON 배열을 다루기 위해 우선 JSON 데이터를 파싱해야 합니다. Gson 라이브러리를 사용하여 JSON 데이터를 자바 객체로 변환하는 방법은 다음과 같습니다.

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Emily\",\"age\":25}]";
        Gson gson = new Gson();

        // JSON 배열 파싱
        Person[] persons = gson.fromJson(json, Person[].class);

        // 파싱된 결과 출력
        for (Person person : persons) {
            System.out.println("이름: " + person.getName());
            System.out.println("나이: " + person.getAge());
        }
    }
}

class Person {
    private String name;
    private int age;

    // Getter, Setter 메서드 생략

    // ...
}

위의 코드에서는 JSON 배열을 파싱하여 Person 객체의 배열로 변환합니다. fromJson 메서드를 사용하여 JSON 데이터를 파싱하고, 이를 Person[] 형태로 받아옵니다. 이후에는 Person 객체의 속성에 접근하여 원하는 작업을 수행할 수 있습니다.

만약 JSON 배열이 아닌 JSON 객체 내에 배열이 있는 경우에는 객체를 먼저 파싱한 후 배열을 추출하여 다루면 됩니다.

3. JSON 배열 생성하기

JSON 배열을 생성하려면 자바 객체를 JSON 형태로 변환해야 합니다. Gson 라이브러리를 사용하면 간단하게 자바 객체를 JSON 형태로 변환할 수 있습니다. 다음은 자바 객체를 JSON 배열로 변환하는 예시입니다.

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        Person[] persons = new Person[2];
        persons[0] = new Person("John", 30);
        persons[1] = new Person("Emily", 25);

        Gson gson = new Gson();

        // 자바 객체를 JSON 배열로 변환
        String json = gson.toJson(persons);

        // 생성된 JSON 배열 출력
        System.out.println(json);
    }
}

class Person {
    private String name;
    private int age;

    // 생성자, Getter, Setter 메서드 생략

    // ...
}

위의 코드에서는 Person 객체를 Person[] 배열에 담아 Gson 라이브러리의 toJson 메서드를 사용하여 JSON 배열로 변환합니다. 이후에는 생성된 JSON 배열을 원하는 방식으로 이용할 수 있습니다.

결론

위에서는 자바에서 JSON 데이터의 배열을 다루는 방법에 대해 알아보았습니다. Gson 라이브러리를 사용하면 간편하게 JSON 배열을 파싱하고 생성할 수 있습니다. JSON 배열을 다루는 작업은 다양한 상황에서 필요한데, 이를 잘 활용하여 프로그래밍의 유연성을 높일 수 있습니다.

참고 자료