Я использую Retrofit
с POJO
, что обычно работает, но ответ имеет два разных объекта в зависимости от того, верен ли результат. Какой из них String
, а другой - Object
:
{
"data":"No results."
}
или
{
"data": {
"exame": [
{
"id": 776,
"codigo": "DHT",
"instrucao": "- Text."
},
{
"id": 776,
"codigo": "DHT",
"instrucao": "- Text"
}
]
}
}
И мой класс:
public class Exame {
@SerializedName("data")
@Expose
@Nullable
private ExameItem exameItem;
private String mensagem;
public ExameItem getExameItem() {
return exameItem;
}
public void setExameItem(ExameItem exameItem) {
this.exameItem = exameItem;
}
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
}
Когда я делаю Exame().getExameItem
, это нормально, но когда я пытаюсь проверить, есть ли сообщение в Exame().getMessagem
, это выдает мне эту ошибку:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 10 path $.data
Итак, я думаю, как я могу проверить, является ли @data String
из Object
, но я не знаю, как, кто-нибудь может помочь?