Я начинаю с этого. Я пытаюсь получить ответ от запроса POST в JSONarray. И когда я пытаюсь получить ответ на массив, я могу получить объект JSON. это мой POJOОтвет на запрос ответа POST в массиве JSON
User.Java
public class User {
@SerializedName("username")
@Expose
private String user;
@SerializedName("pass")
@Expose
private String pass;
@SerializedName("status")
@Expose
private String status;
@SerializedName("message")
@Expose
private String message;
@SerializedName("data")
@Expose
private ArrayList<Datum> data;
public User(String user, String pass, String mesaage){
this.user = user;
this.pass = pass;
this.message = message;
}
public String getStatus() {
return status;
}
public ArrayList<Datum> getData() {
return data;
}
public void setData(ArrayList<Datum> data) {
this.data = data;
}
public String getMessage() {
return message;
}
}
Datum.Java:
public class Datum {
@SerializedName("id")
@Expose
private String id;
@SerializedName("username")
@Expose
private String username;
@SerializedName("mk_nama")
@Expose
private String mkNama;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getMkNama() {
return mkNama;
}
public void setMkNama(String mkNama) {
this.mkNama = mkNama;
}
}
это мой интерфейс
public interface UserClient {
@FormUrlEncoded
@POST("login")
Call<User> loginAccount (
@Field("user") String username,
@Field("pass") String password
);}
и это мой MainActivity
private void sendNetworkRequest(String username, String password) {
Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl("https://prht.herokuapp.com/api/")
.addConverterFactory(GsonConverterFactory.create());
Retrofit retrofit = builder.build();
UserClient client = retrofit.create(UserClient.class);
Call<User> call = client.loginAccount(username,password);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
Toast.makeText(LoginActivity.this, response.body().getData(),Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Toast.makeText(LoginActivity.this, "BAD ERROR" , Toast.LENGTH_SHORT).show();
}
});
}
Кажется, я не могу добраться до объекта JSONarray в getData()
опубликовать ваш ответ JSON – arjun
ответ предположить, что это "данные": [ { "ID": "90", "имя пользователя": "10090", "mk_nama": «XXXXXXXXXX " } ] –
проблема у вас только с arraylist. Я имею в виду, что вы получаете данные в других полях, таких как 'username',' pass', 'status' – arjun