بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
خطا در گرفتن مقادیر دیتابیس در retrofit
من بااستفاده از رتورفیت میخوام json رو از سرور بگیرم و نمایش بدم اما متاسفانه ارور زیر رو میده
$java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path
کلاس api client
public class ApiClient {
public static final String BASE_URL="http://10.0.2.2/note-server/";
private static Retrofit retrofit = null;
private static String TAG=ApiClient.class.getSimpleName();
public static Retrofit getClient() {
if (retrofit==null) {
OkHttpClient client=new OkHttpClient.Builder()
.readTimeout(20, TimeUnit.SECONDS)
.connectTimeout(20, TimeUnit.SECONDS)
.build();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
کلاس api service
public interface APIService {
@GET("index.php")
Call<PostRetrofitModel> getPosts();
}
کلاسpostRetrofitModel
public class PostRetrofitModel implements Serializable{
public List<PostRetrofitModel> model;
@SerializedName("name")
private String name;
@SerializedName("last_name")
private String lastName;
public PostRetrofitModel(String name, String lastName) {
this.name = name;
this.lastName = lastName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
کلاس اصلی
APIService service= ApiClient.getClient().create(APIService.class);
Call<PostRetrofitModel> call=service.getPosts();
call.enqueue(new Callback<PostRetrofitModel>() {
@Override
public void onResponse(Call<PostRetrofitModel> call, Response<PostRetrofitModel> response) {
PostRetrofitModel result=response.body();
Log.i("LOG","Result of Server " + result);
// اطلاعات به درستی دریافت شدند
}
@Override
public void onFailure(Call<PostRetrofitModel> call, Throwable t) {
Log.i("TAG","failure :"+t.getLocalizedMessage());
// خطایی رخ داده است
}
});
}
});
0
0
طبق خطا ، ظاهرا اینور آبجکت میگیری ولی از اونور داری آرایه پاس میدی (9 سال پیش)
0
0
بله همینطوره
(9 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
مشاهده پاسخ صحیح
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .