если мой WS-успех, то получите следующий ответ
{"status":"SUCCESS","reason":"User phrase returned successfully.","response":{"isValidUser":"1","Phrase":"montu"}}
если тот же самый WS не удается получить следующий ответ
{"status":"FAILED","reason":"Invalid Username","response":false}
Здесь я использую gson для сопоставления.
Класс сопоставления
class HomeScreenUserResponse extends Object {
public String status;
public String reason;
public checkUser response;
}
class checkUser {
String isValidUser;
String Phrase;
}
Но это отображение не работает, если веб-служба не работает. Он работает только для успеха ws. Как создать единый класс сопоставления для обоих случаев.
Вы должны зарегистрировать адаптер специального типа для этого типа. Вы захотите проверить значение "ответ" и вести себя по-разному в зависимости от того, является ли этот объект или логическим.
Может быть, что-то вроде этого
class Class {
boolean status;
String reason;
Responce responce;
public Class(JSONObject jObject) {
status = jObject.getString("status").equals("SUCCESS") ? true : false;
reason = jObject.getString("reason");
if (status) {
responce = new Responce(jObject.getJSONObject("response"));
} else {
responce = null;
}
}
}
class Responce{
String isValidUser;
String Phrase;
public Responce(JSONObject jObject){
//Loading json data
}
}