Moments of growth

Expected BEGIN_ARRAY but was BEGIN_OBJECT 본문

Android [오류 해결] 🔨

Expected BEGIN_ARRAY but was BEGIN_OBJECT

뮤링이 2022. 7. 11. 23:53

서버 연동을 하면 가장 자주 볼 수 있는 에러가 아닐까 싶다.

이건 말 그대로 array값을 예상했으나 현재 object라는 의미이다.

 

 

 

response 명세서

위와 같이 "data" 값이 {} 중괄호, 즉 array의 값으로 와야하는데 밑에 코드처럼 data를 List 형태(object)로 선언해줬다.

 

<잘못된 코드>

data class ResponseChangePW(
    val data: List<ExUser>,
    val status: Int,
    val success: Boolean,
    val message: String
)

 

<올바르게 고친 코드>

data class ResponseChangePW(
    val data: ExUser,
    val status: Int,
    val success: Boolean,
    val message: String
)

 

이런 상황에서는 data가 [], 대괄호로 감싸져있기 때문에 배열형태인 Object로 선언해주는 것이 맞다.따라서 val data: List<> 형태로 선언해야한다.

 

Comments