일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 다시봐
- array랑 list
- 알고리즘 인증
- filternot
- 다시 정리해야함
- foldindexed
- recyclerview
- 다시정리하기
- 취준기록
- Filter
- 알고리즘 인증_2주차
- iPortfolio
- 코틀린
- 알고리즘 인증_1주차
- 코딩테스트
Archives
- Today
- Total
Moments of growth
서버에서 특정 데이터가 안 받아져 올 때 본문
문제)
노란색으로 표시한 4가지 항목이 포스트맨에서는 잘 뜨는데 Log를 찍어봤을 때 null 값이 들어오고 안 받아와졌다.
원인)
이렇게 img_link를 imgLink로 받아왔기 때문..
data class ExUser(
val createdAt: String,
val updatedAt: String,
val imgLink: String?=null,
val imgName: String?=null
)
해결방법)
이렇게 @SerializedName을 이용해서 바꿔준 이름을 사용할 수 있다.
data class ExUser(
@SerializedName("created_at")
val createdAt: String,
@SerializedName("updated_at")
val updatedAt: String,
@SerializedName("img_link")
val imgLink: String? = null,
@SerializedName("img_name")
val imgName: String? = null
)
Gson?
Gson은 자바 객체와 JSON 간의 직렬화 및 역직렬화를 위한 구글에서 만든 오픈소스 자바 라이브러리이다.
Java Object를 Json 문자열로 변환할 수 있고, Json 문자열을 Java Object로 변환할 수 있다.
Gson @SerializedName?
public class Person {
@SerializedName(value = "name")
private String personName;
@SerializedName(value = "bd")
private String birthDate;
}
Person Class에는 personName, birthDate라는 2개의 field가 있다. @SerializedName annotation의 value는 객체를 직렬화 및 역직렬화 할 때 이름으로 사용된다. 위에 personName field는 JSON에서 name으로 표출된다.
{
"name":"vernon",
"bd":"1998-02-18"
}
출처)
'Android [오류 해결] 🔨' 카테고리의 다른 글
Comments