Я должен обрабатывать динамические ответы 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
).
Я хочу создать свой собственный конвертер, и у этого вопроса есть хороший пример, но этот пример для Retrofit 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 своим собственным на этом этапе?
Заранее спасибо.