android에서 Gson 라이브러리 사용하기
Json 형식은 데이터 교환방식중 가장 많이 사용 하지 않나 생각 합니다.
android에서는 가장 기본적으로 JsonObject라는 클래스를 이용하여 편리하게 파싱을 할수 있습니다.
하지만 이방법도 더 편리한 방법으로 제공 하는 것이 바로 Gson입니다.
Gson 라이브러리는 파싱할 클래스를 선언하고 간단한 함수 호출을 통하여
객체에 값들이 할당됩니다.
Gson 객체와 Json텍스트로 만들어 줄 객체를 생성합니다.
데이터 객체를 텍스트로 만들어 주기 위한 함수 toJson을 사용합니다.
데이터 객체와 데이터클래스(선택)으로 지정해 줍니다.
데이터 클래스를 지정 한것과 안한 것은 차이가 없다는 것을 알수 있습니다.
텍스트와, 클래스타입의 지정으로 간단하게 파싱 되는 것을 알수 있습니다.
장점으로는 Json을 하나하나 찾아가면서 파싱하고 객체에 값을 할당하는 작업을 안하는 것이 가장 크다고 생각합니다.
android에서는 가장 기본적으로 JsonObject라는 클래스를 이용하여 편리하게 파싱을 할수 있습니다.
하지만 이방법도 더 편리한 방법으로 제공 하는 것이 바로 Gson입니다.
Gson 라이브러리는 파싱할 클래스를 선언하고 간단한 함수 호출을 통하여
객체에 값들이 할당됩니다.
compile 'com.google.code.gson:gson:x.x'build.gradle의 dependencies에 gson라이브러리를 추가 합니다.
class SampleDTO { int idx; String text; public SampleDTO(int idx, String text) { this.idx = idx; this.text = text; } }파싱할 클래스형태를 만들어 줍니다.
Gson gson = new Gson(); SampleDTO dto = new SampleDTO(1, "sample"); String sJsonText1 = gson.toJson(dto); String sJsonText2 = gson.toJson(dto, SampleDTO.class); Log.d("gson", "sJsonText1: " + sJsonText1 + "\nsJsonText2: " + sJsonText2);생성한 객체를 통해 Json텍스트로 만들어 주는 형태입니다.
Gson 객체와 Json텍스트로 만들어 줄 객체를 생성합니다.
데이터 객체를 텍스트로 만들어 주기 위한 함수 toJson을 사용합니다.
데이터 객체와 데이터클래스(선택)으로 지정해 줍니다.
D/gson: sJsonText1: {"idx":1,"text":"sample"} sJsonText2: {"idx":1,"text":"sample"}로그로 출력된 결과 입니다.
데이터 클래스를 지정 한것과 안한 것은 차이가 없다는 것을 알수 있습니다.
SampleDTO parse = gson.fromJson(sJsonText1, SampleDTO.class); Log.d("gson", "idx: " + parse.idx + " text: " + parse.text);Json텍스트를 객체로 파싱 하는 소스입니다.
텍스트와, 클래스타입의 지정으로 간단하게 파싱 되는 것을 알수 있습니다.
D/gson: idx: 1 text: sample결과 로그 입니다.
장점으로는 Json을 하나하나 찾아가면서 파싱하고 객체에 값을 할당하는 작업을 안하는 것이 가장 크다고 생각합니다.
댓글
댓글 쓰기