[Android/Kotlin/Retrofit2] Expected a string but was BEGIN_ARRAY at line 1 column 70 path

Yejin Yun·2022년 2월 9일
0

Error

목록 보기
6/8

오류

Expected a string but was BEGIN_ARRAY at line 1 column 70 path

자료형이 불일치하여 api 응답 에러가 뜨는 상태

문제상황

API 구조

"result": {
        "가장먼저쓴포스터3개": [
            "~",
            "~",
            "~"
        ]
    }

원래 data class

data class MypageResponse(
    @SerializedName("result") val result: Mypage?
)

data class Mypage(
    @SerializedName("가장먼저쓴포스터3개") val 가장먼저쓴포스터3개: String?
)

그리고 레트로핏 쓸 때, response 형태를 <List< MypageResponse >> 이렇게 사용

해결

수정한 data class

data class Mypage(
    @SerializedName("가장먼저쓴포스터3개") val 가장먼저쓴포스터3개: ArrayList<String>?
)

그리고 레트로핏 쓸 때, response 형태를 < MypageResponse > 이렇게 사용

데이터 클래스의 자료형을 수정하여 해결

그동안 많은 오류를 겪었지만 오랜만에 올리는 글...
꾸준히 쓰면 좋겠다!

참고 | https://altongmon.tistory.com/802
도움 | UMC 베어

profile
이런저런 공부 기록

0개의 댓글