Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- vb.net
- DML
- JavaScript
- CSS
- Spring_오류정리
- workbench
- SQL_용어정리
- HTML
- Linux_명령어정리
- github
- 자바
- 아파치톰캣
- Spring_에러정리
- jsp
- 배열
- Linux
- Git_명령어정리
- json
- git
- 이클립스
- 다이어그램
- asp.net
- Git_정리
- 인스턴스
- MySQL
- SQL
- java
- 자바스크립트
- 인덱스
- spring
Archives
- Today
- Total
데브마우스
[JSON] Gson 라이브러리를 사용하며 Java에서 JSON 사용하는 방법 본문
Gson은 무엇인가요?
Gson은 구글에서 개발한 오픈소스 소프트웨어입니다. Gson을 사용하여 직렬화/비직렬화 라이브러리로 자바 객체를 JSON으로 변환합니다. 또한 반대로 JSON을 자바 객체로 변환할 수 있습니다. (출처: https://github.com/google/gson)
Gson을 어디서 다운로드 받나요?
Gson은 메이븐 레포지토리(https://mvnrepository.com/artifact/com.google.code.gson/gson)에서 다운로드 받을 수 있습니다. Gson을 사용하려면 2가지 방법이 있습니다. 의존성 라이브러리를 pom.xml에 추가하거나 jar파일을 다운로드하여 수동으로 추가할 수 있습니다.
jar 파일 추가 방법
jar 파일 추가 환경은 아래와 같습니다.
- Eclipse: 2023-09
프로젝트에서 마우스 오른쪽을 클릭한 후 [Build Path]를 클릭합니다.
[Classpath]를 클릭한 후 오른쪽의 [Add External JARs...]을 클릭합니다.
gson 라이브러리가 추가되었습니다. [Apply and Close]를 클릭합니다.
Gson 사용 방법 정리
Gson을 사용하기 위해서는 DTO 클래스와 임포트(import)가 필요합니다.
// Gson 클래스를 사용하기 위해 필요합니다.
import com.google.gson.Gson;
// TypeToken 클래스를 사용하기 위해 필요합니다.
import com.google.gson.reflect.TypeToken;
DTO Member 클래스입니다.
public class Member {
private String name;
private int age;
private String email;
public Member() {
super();
}
public Member(String name, int age, String email) {
super();
this.name = name;
this.age = age;
this.email = email;
}
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;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Member [name=" + name + ", age=" + age + ", email=" + email + "]";
}
}
Gson을 활용한 자바 코드입니다.
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class GsonPrac {
public static void main(String[] args) {
// 1. Object(Member DTO) -> JSON(String)
Member m = new Member("Hong", 10, "Hong@email.com");
Gson gson = new Gson(); // import com.google.com.gson.Gson;이 없으면 작동하지 않습니다.
String json = gson.toJson(m);
System.out.println(json);
// 2. JSON(String) -> Object(Member DTO) : JSON을 객체로 변환
Member m1 = gson.fromJson(json, Member.class);
System.out.println("JSON(String) -> Object(Member DTO) : " + m1);
System.out.println(m1.getName() + "\t" + m1.getAge());
// 3. Object(List<Member>) -> JSON(String) : [{}, {}...] 배열을 JSON으로 변환
List<Member> list = new ArrayList<Member>();
list.add(new Member("Hong", 10, "Hong@email.com"));
list.add(new Member("Kim", 20, "Kim@email.com"));
list.add(new Member("Lee", 30, "Lee@email.com"));
String listJson = gson.toJson(list);
System.out.println(listJson);
// 4.JSOSN(String) -> Object(List<Member>) : JSON을 객체로 변환
List<Member> list1 = gson.fromJson(listJson, new TypeToken<List<Member>>(){}.getType());
for(Member mb : list1) {
System.out.print(mb);
}
}
}
출발 데이터 형태 | 도착 데이터 형태 | 설명 |
Object(DTO) | JSON(String) | 객체를 JSON으로 변환합니다. |
JSON(String) | Object(DTO) | JSON을 객체로 변환합니다. |
Object(List<DTO>) | JSON(String) | 리스트 객체를 JSON 형태[{ }, { } .... ]로 변환합니다. |
List<JSON(String)> | Object(DTO) | 클래스_이름 [ key=value, key=value ... ]형태로 변환합니다. |
'JSON' 카테고리의 다른 글
[REST] REST API 개요 정리 (0) | 2024.02.10 |
---|---|
[JSON] org.json 라이브러리를 사용하여 Java에서 JSON 사용하는 방법 (0) | 2024.01.30 |
[JSON] JSON 개요 정리 (0) | 2024.01.30 |