본문 바로가기
개발 공부/안드로이드 스튜디오(코틀린)

안드로이드 스튜디오(gson사용법)

by momo'sdad 2023. 10. 18.

gson사용법

Gson은 자바 객체를 JSON으로 그리고 JSON을 자바 객체로 변환해주는 라이브러리다

Gson을 사용하면 한번의 파싱을 통해 JSON에서 곧바로 자바 객체로 또는 그 반대로 간단히 변환할 수 있다

Gson 설정 (build.gradle 파일의 dependencies 블록)

 compile 'com.google.code.gson:gson:2.3.1'

Gson에서 사용할 클래스 선언

 public class Person {
   private String name;
   private String sex;
   private int age;

   @Override
   public String toString() {
     return "name: " + name + "\nsex: " + sex + "\nage: " + age;
   }
 }

Gson을 사용하기 위해 위와 같이 클래스를 선언한다

Gson 인스턴스 선언

 Gson gson = new GsonBuilder().create();

다음으로 위와 같이 Gson의 인스턴스를 생성한다. 이 Gson 인스턴스를 이용해 JSON과 객체 간 변환을 한다. 인스턴스를 생성할 때 파싱과 관련된 옵션을 설정할 수도 있다. 예를 들어, 날짜를 어떤 포맷으로 변환할지 설정할 수도 있다

JSON에서 객체로 변환

 person = gson.fromJson(txtJSON.getText().toString(), Person.class);

위 코드는 JSON을 자바 객체로 변환하는 예다. 여기서 person은 Person형 변수고, txtJSON이라는 textView 안에 있는 JSON 데이터를 Person 객체로 바꾸는 것이다

 

객체에서 JSON으로 변환

 txtJSON.setText(gson.toJson(person));

위 코드는 반대로 Person 객체를 JSON으로 변환하는 예다. 이 외에도 JSON 배열을 객체 배열로 변환, 객체가 멤버 변수로 있는 객체를 JSON으로 변환 등 다양한 것을 할 수 있다

반응형