[Android Studio]retrofit+Node.js, Expected BEGIN_OBJECT but was BEGIN_ARRAY에러
| Computer/Android 2018. 7. 27. 16:311. Expected BEGIN_OBJECT but was BEGIN_ARRAY
이 문제는 db에서 결과물(result)을 받고 res.status(200).send(result)라고 보냈는데, Array로 인식하는 경우다. 즉, [{...},{...}]처럼 [, ]로 감싸져서 그런건데, 결과물이 단 하나라면, 그냥 res.status(200).send(result[0])을 해줄 수도 있겠지만,
gson에서 변환할 땐 [, ]형식이어야하는 지 에러가 났다.
그래서 클라이언트 단에서 Array<XXXItem>형식으로 그냥 받아서 그냥 get(0)으로 처리를 했다.
2. Expected BEGIN_ARRAY but was BEGIN_OBJECT
1과 반대의 경우로, 클라이언트 단에서 Array<XXXItem>으로 되어있다면, 객체 하나로 바꿔보자. 이것도 서버와 클라이언트 간에 형식이 맞지 않아서 생기는 문제다.
'Computer > Android' 카테고리의 다른 글
[Android Studio] 폰트(Font)가 필요하다면? (0) | 2018.07.27 |
---|---|
[Android Studio]Retrofit2 + GSON 에러 - 무한루프(?) 해결 (0) | 2018.07.27 |
[Android Studio] Spinner, default 주기 (0) | 2018.07.27 |
[Android Studio] Context정리 - getContext(), getBaseContext(), getApplicationContext() 등 (0) | 2018.07.27 |
[Android Studio] EditText - Java로 수정 가능/불가능하게 만들기(editable) (0) | 2018.07.27 |