안드로이드에서 Retrofit을 공부하다 Gson과 함께 사용되는 것을 보았다.
그래서 Gson이 뭐지????
Gson 이란???
- Gson은 자바 객체를 JSON 표현으로 변환, JSON 문자열을 동등한 자바 객체로 변환하는 데 사용할 수 있는 자바 라이브러리
- Gson은 json 구조를 띄는 직렬화된 데이터를 JAVA의 객체로 역직렬화, 직렬화 해주는 라이브러리.
즉, 안드로이드에서 네트워크 통신 (okhttp3 혹은 Retrofit)을 통해 JSON 형식의 데이터를 가져오면 하나하나 JSONObject나 JSONArray로 귀찮게 하나하나 나눠주고 불로오고 한걸 쉽게 해준다는 얘기임.
인터넷으로 Retrofit 예제들을 찾아보니 @SerialzedName 개념과, @Expose 개념이 나왔다.
@SerialzedName
JSON으로 serialize 될 때 매칭되는 이름을 명시하는 목적으로 사용되는 field 마킹 어노테이션이다.
Json내에서의 항목 이름과 변수이름을 일치 시켜야하지만 이걸 쓴다면 변수이름을 다르게 싸용해도딤.
@Expose
object 중 해당 값이 null일 경우, json으로 만들 필드를 자동 생략해 준다.
출처: https://giyatto.tistory.com/92 [행복은 습관입니다.:티스토리]
예제 :
public class data_model {
@SerializedName("id")
@Expose
private String id;
@SerializedName("title")
@Expose
private String title;
public String getID(){
return id;
}
public String getTitle(){
return title;
}
}
'안드로이드 자바 코틀린 기초 지식 > 안드로이드 기초 지식' 카테고리의 다른 글
안드로이드 style guide 2 (coding convention) (0) | 2022.08.30 |
---|---|
안드로이드 style guide 1 (Util/Helper) (0) | 2022.08.30 |
Room 데이터베이스 라이브러리 (0) | 2022.08.24 |
안드로이드 HTTP 통신 라이브러리 (Okhttp3, retrofit and volley) (0) | 2022.08.10 |
싱글톤(singleton) 패턴 (0) | 2022.08.09 |