使用不确定元素建模JSON数据

时间:2019-03-04 06:59:31

标签: java android json model

enter image description here

假设我有一个带有元素“ 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

    }

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码

 public class ProductModel {

        private Object meta_data = null;
        ...
    }

并根据您使用 instanceof 关键字

收到的回复进行投射
if(response instanceof List){
   //iterate list.
}
if(response instanceof Object){
  //use object.
}