[java] Gson 라이브러리의 사용법은?

Gson 라이브러리 추가하기

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

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

Gradle을 사용하는 경우, build.gradle 파일의 dependencies 블록에 다음과 같은 의존성을 추가합니다:

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

프로젝트에 Gson 라이브러리가 추가되었다면, 이제 Gson을 사용할 수 있습니다.

JSON to 객체 변환하기

import com.google.gson.Gson;

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

        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);

        System.out.println(person.getName());
        System.out.println(person.getAge());
        System.out.println(person.getCity());
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // Getter and setter methods
}

위의 예제에서 fromJson 메서드는 JSON 문자열을 자바 객체로 변환합니다. Gson은 자동으로 JSON 키와 자바 객체의 필드를 매핑해주기 때문에, Person 클래스에 해당하는 필드가 존재해야 합니다. 자세한 설명을 위해 Person 클래스에 대한 getter와 setter 메서드의 구현은 생략하였습니다.

객체 to JSON 직렬화하기

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        Person person = new Person("John", 30, "New York");

        Gson gson = new Gson();
        String json = gson.toJson(person);

        System.out.println(json);
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // Constructor, getter and setter methods
}

위의 예제에서 toJson 메서드는 자바 객체를 JSON 문자열로 직렬화합니다. 이 경우 Person 객체의 필드 값들이 JSON 문자열로 변환됩니다.

Gson은 다양한 옵션과 기능을 제공하며, 더 복잡한 JSON 변환 작업을 수행할 수도 있습니다. Gson의 공식 문서에서 자세한 내용을 확인하실 수 있습니다.