SeouliteLab

[Java/자바] Gson 라이브러리를 활용한 JSON 데이터 파싱 예제 본문

프로그래밍

[Java/자바] Gson 라이브러리를 활용한 JSON 데이터 파싱 예제

Seoulite Lab 2024. 3. 15. 09:12

Gson은 Java에서 JSON 데이터를 파싱하기 위한 강력한 라이브러리입니다. 이 블로그 포스트에서는 Gson 라이브러리를 사용하여 JSON 데이터를 파싱하는 다양한 예제를 살펴보겠습니다.

1. Gson 라이브러리 설정

Gson을 사용하기 위해서는 먼저 프로젝트에 Gson 라이브러리를 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음과 같은 의존성을 추가합니다.

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

2. Gson 라이브러리를 사용한 JSON 파싱 예제

예제 1: 기본적인 JSON 파싱

간단한 JSON 문자열을 Java 객체로 파싱하는 예제입니다.

// Gson 라이브러리 임포트
import com.google.gson.Gson;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

        // Gson을 사용하여 JSON 파싱
        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);
        System.out.println(person.getName());  // 출력 결과: John
        System.out.println(person.getAge());   // 출력 결과: 30
        System.out.println(person.getCity());  // 출력 결과: New York
    }
}

// 객체 모델 클래스
class Person {
    private String name;
    private int age;
    private String city;

    // Getter 및 Setter 생략
}

예제 2: 중첩된 JSON 파싱

중첩된 JSON 구조를 가진 데이터를 파싱하는 예제입니다.

// Gson 라이브러리 임포트
import com.google.gson.Gson;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\", \"age\":30, \"address\":{\"city\":\"New York\", \"zipcode\":\"10001\"}}";

        // Gson을 사용하여 JSON 파싱
        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);
        System.out.println(person.getName());               // 출력 결과: John
        System.out.println(person.getAddress().getCity());  // 출력 결과: New York
        System.out.println(person.getAddress().getZipcode());// 출력 결과: 10001
    }
}

// 객체 모델 클래스
class Person {
    private String name;
    private int age;
    private Address address;

    // Getter 및 Setter 생략
}

class Address {
    private String city;
    private String zipcode;

    // Getter 및 Setter 생략
}

예제 3: JSON 배열 파싱

JSON 배열을 파싱하여 Java List로 변환하는 예제입니다.

// Gson 라이브러리 임포트
import com.google.gson.Gson;
import java.util.List;
import java.util.Arrays;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) {
        String json = "[{\"name\":\"John\", \"age\":30}, {\"name\":\"Jane\", \"age\":25}]";

        // Gson을 사용하여 JSON 파싱
        Gson gson = new Gson();
        Person[] peopleArray = gson.fromJson(json, Person[].class);
        List<Person> peopleList = Arrays.asList(peopleArray);

        for (Person person : peopleList) {
            System.out.println(person.getName() + " - " + person.getAge());
        }
        // 출력 결과: John - 30, Jane - 25
    }
}

// 객체 모델 클래스
class Person {
    private String name;
    private int age;

    // Getter 및 Setter 생략
}