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

标签 java android json model

enter image description here

假设我有一个带有元素“meta_data”的 json 响应(见图)。现在这个 meta_data 列表的特殊之处在于它可能存在也可能不存在,这取决于它是否有子元素。不仅如此,如果它只有一个子元素,那么它将显示为一个对象(键值),而不是列表。那么我如何在我的模型类中对这个元素进行建模,这样我的应用程序就不会因为“预期的字符串但是在第 1 行第 4864 列路径 $[0].meta_data[0].value 处的 BEGIN_OBJECT”之类的错误而崩溃。下面是我的模型类的 fragment :

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 关键字的响应转换它,喜欢

if(response instanceof List){
   //iterate list.
}
if(response instanceof Object){
  //use object.
}

关于java - 使用不确定元素对 json 数据建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54978070/

相关文章:

java - JavaFX ListView 中神秘的 "The color components or name must be specified "错误

android - 如何更改图表引擎中饼图的边距?

java - Android 开发工具 - 错误

java.lang.StringIndexOutOfBoundsException :java

java - 在 Tomcat 中取消请求

python - json读取错误json.decoder.JSONDecodeError : Invalid\escape

javascript - 动态修改javascript对象

android - 给定中心和半径,如何在 Google map 中获取圆的 LatLngBounds?

android - Android TTS 是否支持语音合成标记语言?

json - 如何在Grails session 对象中对JSON进行操作