当前位置: 代码迷 >> java >> 使用不确定元素对 json 数据建模
  详细解决方案

使用不确定元素对 json 数据建模

热度:71   发布时间:2023-07-26 14:01:03.0

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

    }

您可以使用以下代码

 public class ProductModel {

        private Object meta_data = null;
        ...
    }

并根据您使用instanceof关键字收到的响应进行转换,Like

if(response instanceof List){
   //iterate list.
}
if(response instanceof Object){
  //use object.
}
  相关解决方案