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"
}
}
}
iは
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'クラスにリストのデータオブジェクトだけでなく、データオブジェクトを使用する必要があります。 – parohy
@parohy java.lang.IllegalStateException:BEGIN_ARRAYは期待されていましたが、行1の列40のパス$ .data – praj
jsonはオブジェクト 'data'を持っていて、' 1,2,3 'というオブジェクトを持っています。より多くのオブジェクト5,6を取得する。これは配列ではない。これは適切な方法ではない。なぜなら、POJOでは、有効でない名前の属性(プロパティ)を持たなければならないからである(変数名は数字で始めることはできません)ですから、私はdata []配列を持つ新しいjsonを再作成することをお勧めします。この方法でPOJOで 'List data;'を使用することができます今、 'List'を使用すると' Expected BEGIN_ARRAY、しかしBEGIN_OBJECT ... 'でした。 – Yazan