假设我有一个带有元素“ meta_data”的json响应(参见图片)。现在,关于此meta_data列表的奇特之处在于它可能存在或不存在,这取决于它是否具有子元素。如果只有一个子元素,则不仅如此,它还将显示为对象(键值)而不是列表。因此,如何在模型类中对此元素进行建模,以使我的应用程序不会崩溃,并出现诸如“期望字符串,但在行1列4864路径$ [0] .meta_data [0] .value”处为BEGIN_OBJECT的错误。以下是我的模型课程的摘要:
public class ProductModel {
private List<MetaDatum> meta_data = null;
public List<MetaDatum> getMetaData() {
return meta_data;
}
public void setMetaData(List<MetaDatum> meta_data) {
this.meta_data = meta_data;
}
// further more elements
}
答案 0 :(得分:1)
您可以使用以下代码
public class ProductModel {
private Object meta_data = null;
...
}
并根据您使用 instanceof 关键字
收到的回复进行投射if(response instanceof List){
//iterate list.
}
if(response instanceof Object){
//use object.
}