좋아, 정리해서 쉽게 알려줄게!
(너 결석한 날 했던 실습이니까 "Gson 기본 사용법" 위주로 설명할게.)
Gson은 자바 객체 ↔ JSON 문자열 간 변환을 쉽게 도와주는 Google에서 만든 라이브러리야.
우리가 해야 하는 건:
gson-2.8.6.jar 파일을 lib 폴더에 넣는다.import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
// 1. 변환할 객체 생성
Person person = new Person("홍길동", 25);
// 2. Gson 객체 생성
Gson gson = new Gson();
// 3. 객체를 JSON 문자열로 변환
String json = gson.toJson(person);
// 4. 결과 출력
System.out.println(json);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
출력 결과:
{"name":"홍길동","age":25}
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
// 1. JSON 문자열 준비
String json = "{\"name\":\"홍길동\",\"age\":25}";
// 2. Gson 객체 생성
Gson gson = new Gson();
// 3. JSON 문자열을 Java 객체로 변환
Person person = gson.fromJson(json, Person.class);
// 4. 결과 출력
System.out.println(person.getName()); // 홍길동
System.out.println(person.getAge()); // 25
}
}
class Person {
private String name;
private int age;
public Person() {} // 역직렬화할 때 기본 생성자 필요
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
| 구분 | 설명 | 메소드 |
|---|---|---|
| 직렬화 | Java 객체 → JSON | gson.toJson(Object) |
| 역직렬화 | JSON → Java 객체 | gson.fromJson(String, Class<T>) |
GsonBuilder 사용).@SerializedName 어노테이션 쓰면 JSON 이름 다르게 맵핑할 수도 있어.요약 멘트
👉 Gson은 쉽게 객체랑 JSON을 왔다갔다 하게 도와주는 도구다!
👉 gson.toJson(객체) ➡️ JSON 변환
👉 gson.fromJson(JSON, 클래스명.class) ➡️ 객체 변환
필요하면 List, Map, GsonBuilder 고급 버전까지도 예시 추가해줄까? ✨
(바로 이어서 심화버전도 해볼래?)