Помогите мне с этой проблемой, пожалуйста, код выглядит следующим образом
Мероприятия
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TaskData taskData= new TaskData();
taskData.setEmail("[email protected]");
Task task= new Task();
task.setTaskData(taskData);
Log.v("@@@WWE"," Call Initiated");
task.setTask("getUserDetail");
JSONObject taskDatas= new JSONObject();
JSONObject taskM= new JSONObject();
try {
taskDatas.put("email","[email protected]");
taskM.put("task","getUserDetail");
taskM.put("taskData",taskDatas);
} catch (JSONException e) {
e.printStackTrace();
}
Map<String,JSONObject> taskMap= new HashMap<>();
taskMap.put("reqObject",taskM);
getUserDetails(taskMap);
Log.v("@@@WWE"," Call Over");
}
public void getUserDetails(Map<String,JSONObject> task){
ServiceInterfaceApi interfaceApi= ServiceClass.getApiService();
Call<UserList>call=interfaceApi.getUserDetails(task);
Log.v("@@@WWE","Retrofit Request Method = "+call.request().method());
Log.v("@@@WWE","Retrofit Request Body = "+call.request().body());
Log.v("@@@WWE","Retrofit Request Url = "+call.request().url());
Log.v("@@@WWE","Retrofit Request executed = "+call.isExecuted());
call.enqueue(new Callback<UserList>() {
@Override
public void onResponse(Call<UserList> call, Response<UserList> response) {
Log.v("@@@","Response");
if (response.isSuccessful()){
Log.v("@@@","Sucess");
userList=response.body().getUserData();
for (int i = 0; i < userList.size(); i++) {
UserDatum userDatum=userList.get(i);
Log.v("@@@@WWE"," USer Email "+userDatum.getEmail());
Log.v("@@@@WWE"," USer Name "+userDatum.getName());
Log.v("@@@@WWE"," USer Gender "+userDatum.getGender());
}
}
if(response.code()==400){
Toast.makeText(Home.this,"400 code ",Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<UserList> call, Throwable t) {
Log.v("@@@WWE","Failure "+t.getMessage());
}
});
}
Сервисный интерфейс
@Headers("Content-Type: application/json")
@POST("index.php")
Call<UserList>getUserDetails(@QueryMap Map<String,JSONObject> stringTaskMap);
Класс обслуживания
public class ServiceClass {
public ServiceClass() {
}
private static Retrofit getRetroClient(){
Gson gson = new GsonBuilder()
.setLenient()
.create();
return new Retrofit.Builder()
.baseUrl(HttpConstants.baseUrl)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
}
public static ServiceInterfaceApi getApiService(){
return getRetroClient().create(ServiceInterfaceApi.class);
}
}
Класс Пожо:
public class UserList {
@SerializedName("userData")
@Expose
private List<UserDatum> userData = null;
@SerializedName("code")
@Expose
private Integer code;
@SerializedName("message")
@Expose
private String message;
public List<UserDatum> getUserData() {
return userData;
}
public void setUserData(List<UserDatum> userData) {
this.userData = userData;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
public class UserDatum {
@SerializedName("email")
@Expose
private String email;
@SerializedName("password")
@Expose
private String password;
@SerializedName("name")
@Expose
private String name;
@SerializedName("image")
@Expose
private String image;
@SerializedName("mobile")
@Expose
private String mobile;
@SerializedName("birth_date")
@Expose
private String birthDate;
@SerializedName("dateofregister")
@Expose
private String dateofregister;
@SerializedName("gender")
@Expose
private String gender;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getBirthDate() {
return birthDate;
}
public void setBirthDate(String birthDate) {
this.birthDate = birthDate;
}
public String getDateofregister() {
return dateofregister;
}
public void setDateofregister(String dateofregister) {
this.dateofregister = dateofregister;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
Ожидаемый ответ
{"userData":[{"email":"[email protected]","password":"12345","name":"foo bar","image":"foo","mobile":"123","birth_date":"12345646","dateofregister":"1493706304000","gender":"male"}],"code":200,"message":"DONE"}
вот мое сообщение об ошибке Ошибка java.lang.IllegalStateException: Ожидается BEGIN_OBJECT, но это STRING в строке 6, столбец 1, путь $ Спасибо заранее