【发布时间】:2019-05-02 18:01:02
【问题描述】:
我将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,但我不知道如何,有人可以帮忙吗?
【问题讨论】:
标签: java json gson pojo json-deserialization