728x90
반응형
SMALL
Android 앱 개발에서 서버로부터 데이터를 받아와 화면에 표시하는 것은 매우 일반적인 작업입니다. 이때 JSON 형식의 데이터를 파싱하여 Java 객체로 변환하는 데 Gson 라이브러리가 유용하게 사용됩니다. 이번 글에서는 Gson을 사용하여 JSON 데이터를 파싱하는 예제와 함께 자세한 사용 방법을 설명합니다.
1. Gson 라이브러리 추가
먼저 Gradle 또는 Maven을 사용하여 프로젝트에 Gson 라이브러리를 추가해야 합니다.
Gradle:
Gradle
dependencies {
implementation 'com.google.code.gson:gson:2.8.8' // 최신 버전 확인 후 사용
}
Maven:
XML
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version> </dependency>
2. JSON 데이터 준비
다음과 같은 JSON 데이터를 파싱한다고 가정합니다.
JSON
[
{
"name": "gemini",
"age": 40
},
{
"name": "jikong",
"age": 8
}
]
3. Java 객체 모델 생성
JSON 데이터를 매핑할 Java 객체 모델을 생성합니다.
Java
public class Person {
private String name;
private int age;
// Getter 및 Setter 메서드 (생략 가능)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4. JS 1 ON 데이터 파싱
Gson을 사용하여 JSON 데이터를 Java 객체로 파싱합니다.
Java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class Main {
public static void main(String[] args) {
String json = "[{\"name\":\"gemini\",\"age\":40}, {\"name\":\"jikong\",\"age\":8}]";
Gson gson = new Gson();
Type listType = new TypeToken<List<Person>>(){}.getType();
List<Person> people = gson.fromJson(json, listType);
for (Person person : people) {
System.out.println("Name: " + person.getName() + ", Age: " + person.getAge());
}
}
}
추가 기능
- pretty printing: 파싱된 Java 객체를 보기 좋게 들여쓰기된 JSON 문자열로 변환할 수 있습니다.
- 커스텀 직렬화/역직렬화: 특정 필드를 원하는 방식으로 JSON으로 변환하거나 JSON에서 Java 객체로 변환할 수 있습니다.
- TypeAdapter: 복잡한 객체나 컬렉션을 처리하기 위한 TypeAdapter를 구현할 수 있습니다.
Gson은 다양한 기능을 제공하므로, 필요에 따라 공식 문서를 참고하여 활용하면 좋습니다.
728x90
반응형
LIST