본문 바로가기

Java

Gson

Gson은 Google의 라이브러리로 JSON을 다루기 쉽게 해 준다.

사용전

Maven :

1
2
3
4
5
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.2</version>
</dependency>
cs

Android :

build.gradle에 의존성 추가

1
2
3
dependencies {
    compile 'com.google.code.gson:gson:2.8.2'
}
cs


jar :

gson-2.8.0.jar

혹은 https://mvnrepository.com/artifact/com.google.code.gson/gson

사용

다음과 같은 InfoVO 클래스가 존재한다고 가정

InfoVO.java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class InfoVO(){
    private String id, pw;
 
    public InfoVO(String id, String pw){
        this.id = id;
        this.pw = pw;
    }
 
    public String getId(){ return id; }
    public String getPw(){ return pw; }
    public void setId(String id) { this.id=id; }
    public void setPw(String pw) { this.pw=pw; }
}
cs

JSON 형태의 String -> Class객체

1
2
3
String json = "{\"id\":\"test\",\"pw\":\"test\"}"
Gson gson = new Gson();
InfoVO infoVO = gson.fromJson(json, InfoVO.class);
cs

JSON Array 형태의 String -> list 

1
2
3
4
5
6
String json = "[{\"id\":\"test\",\"pw\":\"test\"},{\"id\":\"test2\",\"pw\":\"test2\"}]"
Gson gson = new Gson();
ArrayList<InfoVO> list = new ArrayList<>();
 
/* JSON Parsing */
list = gson.fromJson(result, new TypeToken<ArrayList<InfoVO>>() {}.getType());
cs