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 :
혹은 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 |