안드로이드 레트로핏 JSON 데이터가 배열만 있을때(에러_Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $)

SteelZoo·2022년 7월 3일
0

레트로핏을 사용해서 JSON값을 불러오는데 다음과 같이 에러가 났다.

중요한 내용은

Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $

잘은 모르겠으나 대충 오프젝트가 올 줄알았는데 배열이 왔다고 말하는 것같았다.
바로 구글링 해본결과 그게 맞고 정확히는 다음과 같다.






보통 JSON 데이터를 보면 다음과 같이 오는데

{
  	"list":[{item},{item},{item}...]
}

이 때 list를 사용하려면

@SerializedName("list")
ArrayList<item> list;

DTO클래스 안에 이런식으로 선언하고 사용한다









하지만
다음과 같이 배열명 없이 배열만 올경우에는

{
[{item},{item},{item}...]
}

레트로핏 통신을 위한 인터페이스를 선언하는 부분에 다음과 같이 코드를 작성하면 된다

@GET("~")
Call<List<item>> getData(); //메소드명(getData)은 상관없음





생각🤔 : 지금까지는 배열명이 지정되서 오는 것만 받아봐서 생각도 못 했는데 아직 부족하구나,,

0개의 댓글