Ich bin Anfänger bei diesem. Ich versuche, Antwort von POST-Anfrage in einem JSONarray zu erhalten. Und wenn ich versuche, eine Antwort auf das Array zu bekommen, kann ich das JSON-Objekt bekommen. dies ist mein POJORetrofit POST Anfrage Antwort in JSON-Array
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;
}
}
das ist meine Schnittstelle
public interface UserClient {
@FormUrlEncoded
@POST("login")
Call<User> loginAccount (
@Field("user") String username,
@Field("pass") String password
);}
und das ist mein 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();
}
});
}
Ich kann das Objekt von JSONarray in getData() nicht erreichen
posten Sie Ihre Json Antwort – arjun
die Antwort nehme diese "Daten" zu sein: [ { "id": "90", "username": "10090", "mk_nama": „XXXXXXXXXX " } ] –
ist Ihr Problem nur mit der Arraylist. Ich meine, erhalten Sie Daten in anderen Bereichen wie 'username',' pass', 'status' – arjun