Мне нужно обрабатывать динамические ответы JSON.
Раньше я использовал классы и аннотации следующим образом:
public class ChatResponse {
@SerializedName("status")
private int status;
@SerializedName("error")
private String error;
@SerializedName("response")
private Talk response;
public int getStatus() {
return status;
}
public String getError() {
return error;
}
public Talk getResponse() {
return response;
}
}
Когда статус равен 1 (успех), onResponse
запускается, и я могу получить объект ChatResponse. Но когда статус равен 0, ответ является ложным в представлении JSON, и он терпит неудачу (onFailure
запускается).
Я хочу создать свой собственный конвертер, и у этот вопрос имеет хороший пример, но этот пример относится к модернизации 1.
Мне нужно создать класс, расширяющий Converter.Factory
, но я не знаю, как переопределить методы этот класс.
Собственно у меня следующее:
@Override
public Converter<ResponseBody, ?> fromResponseBody(Type type, Annotation[] annotations) {
return super.fromResponseBody(type, annotations);
}
@Override
public Converter<?, RequestBody> toRequestBody(Type type, Annotation[] annotations) {
return super.toRequestBody(type, annotations);
}
Как я могу проанализировать ответ JSON самостоятельно на этом этапе?
Заранее спасибо.