내 API 연결을 위해 Gson GsonConverterFactory와 함께 개조를 사용하고 있습니다. API를 가져 오는 데 어려움이 있습니다. 복잡한 Json 객체에 대한 GSON POJO 클래스를 만드시겠습니까?
{
status: 100,
tb_name: "list",
data: {
1: {
distance: "",
Busid: "18",
locid: "6309",
business_name: " Park",
category_name: "Activities",
area: "Sharjah",
cat_image: "14645915394584643.png",
cusine: "",
city: "Sharjah",
lat_long: "25.342403, 55.379542",
image: "14650439123004854.jpg",
is_fav: "No"
},
2: {
distance: "",
Busid: "56",
locid: "6311",
business_name: "Bowling City",
category_name: "Activities",
area: "Abu Dhabi",
cat_image: "14645915394584643.png",
cusine: "",
city: "Abu Dhabi",
lat_long: "24.494183, 54.367608",
image: "14650440703886102.jpg",
is_fav: "No"
},
3: {
distance: "",
Busid: "56",
locid: "6312",
business_name: "Bowling City",
category_name: "Activities",
area: "Deira, Dubai",
cat_image: "14645915394584643.png",
cusine: "",
city: "Dubai",
lat_long: "25.251964, 55.332805",
image: "14650440703886102.jpg",
is_fav: "No"
},
4: {
distance: "",
Busid: "56",
locid: "6310",
business_name: "Bowling City",
category_name: "Activities & Leisure",
area: "Al Ain Mall, Al Ain",
cat_image: "14645915394584643.png",
cusine: "",
city: "Al Ain",
lat_long: "24.222321, 55.782205",
image: "14650440703886102.jpg",
is_fav: "No"
}
}
}
은 내가
public class ktbresponse {
private String status;
private String tb_name;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getTb_name() {
return tb_name;
}
public void setTb_name(String tb_name) {
this.tb_name = tb_name;
}
public application.myrestapi.com.myrestapiapplication.model.data getData() {
return data;
}
public void setData(application.myrestapi.com.myrestapiapplication.model.data data) {
this.data = data;
}
private data data;
}
public class data {
private String distance;
private String Busid;
public String getDistance() {
return distance;
}
public void setDistance(String distance) {
this.distance = distance;
}
public String getBusid() {
return Busid;
}
public void setBusid(String busid) {
Busid = busid;
}
public String getLocid() {
return locid;
}
public void setLocid(String locid) {
this.locid = locid;
}
public String getBusiness_name() {
return business_name;
}
public void setBusiness_name(String business_name) {
this.business_name = business_name;
}
private String locid;
private String business_name;
}
POJO 클래스
을 생성하지만Log.e("apiResponse",apiResponse.getStatus());
Log.e("apiResponse",apiResponse.getData().getBusiness_name());
만 status.not 작업 데이터를 인쇄 인쇄 할 때. 나는 구조의이 유형을 처음 보는 것이다. 내가 무엇을 잘못했는지 알게 해주세요. 이 구조체를위한 Pojo 클래스를 만드는 방법은?
'ktbresponse' 클래스에있는 간단한 데이터 객체가 아니라 List 데이터를 사용해야합니다. – parohy
@parohy java.lang.IllegalStateException : 예상 된 BEGIN_ARRAY하지만 BEGIN_OBJECT 1 행 40 열 경로 $ .data – praj
귀하의 json 의미 개체'데이터', 그것은'1, 2, 3' 개체를 가지고, 나는 그것이있을 수 있습니다 더 많은 객체 5, 6 ...을 동시에 얻는다. POJO에서 유효하지 않은 이름 (속성)을 가질 필요가 있기 때문에 적절한 방법이 아닌 배열이 아니다. (변수 이름은 숫자로 시작할 수 없습니다) 그래서 내가 제안하는 것은 데이터 [] 배열을 가질 새로운 json을 다시 만드는 것이므로이 POJO에서'List data;'를 POJO에서 사용할 수 있습니다. 이제'List'를 사용하면 'Expected BEGIN_ARRAY,하지만 BEGIN_OBJECT ...'가됩니다. – Yazan