Android For循环将JSON响应添加两次,而不是一次

Android For循环将JSON响应添加两次,而不是一次,android,json,Android,Json,实际上,我正在解析JSON并将ts数据存储在模型类中。但是一个特定数组的数据加了两次请帮助我。我无法检测到我的编码哪里出错了 我刚刚更新了我的代码,请检查并给我解决方案。问题是阵列(数据)中的数据不是预期的。它将复制到其中的所有对象 这是我的编码表: 这是我的模型课: ConfigurableProductModel { public String color_name; public String color_id; public ArrayList<Data> data;

实际上,我正在解析JSON并将ts数据存储在模型类中。但是一个特定数组的数据加了两次请帮助我。我无法检测到我的编码哪里出错了

我刚刚更新了我的代码,请检查并给我解决方案。问题是阵列(数据)中的数据不是预期的。它将复制到其中的所有对象

这是我的编码表:

这是我的模型课:

ConfigurableProductModel {

public String color_name;
public String color_id;
public ArrayList<Data> data;


public ArrayList<Data> getData() {
    return data;
}

public void setData(ArrayList<Data> data) {
    this.data = data;
}

public List<String> total_size;

public String getColor_name() {
    return color_name;
}

public void setColor_name(String color_name) {
    this.color_name = color_name;
}

public String getColor_id() {
    return color_id;
}

public void setColor_id(String color_id) {
    this.color_id = color_id;
}


public List<String> getTotal_size() {
    return total_size;
}

public void setTotal_size(List<String> total_size) {
    this.total_size = total_size;
}


public static class Data{


    public String pro_id;

    public String getPro_id() {
        return pro_id;
    }

    public void setPro_id(String pro_id) {
        this.pro_id = pro_id;
    }

    public String getPro_size() {
        return pro_size;
    }

    public void setPro_size(String pro_size) {
        this.pro_size = pro_size;
    }

    public String pro_size;


}
}

我猜我会把这个答案加在你的错误上。

在代码中

datasmodels.add(data); 
上面的代码似乎是数据对象模型的arraylist

那么你的代码应该是这样的

 for(int m=0;m<jsonArray_data.length();m++)
      {
        JSONObject jsonObject_data=jsonArray_data.getJSONObject(m);

        /* Declare your arraylist for data object here..! */
        ArrayList<Data> datasmodels = new ArrayList();

        ConfigurableProductModel.Data data=new ConfigurableProductModel.Data();
        data.setPro_id(jsonObject_data.getString("entity_id"));
        data.setPro_size(jsonObject_data.getString("size_label"));

        sizes_list.add(jsonObject_data.getString("size_label"));

        datasmodels.add(data);
        configurableProductModel.setData(datasmodels); //Changed Here

      }

for(int m=0;m哪些字段是重复的?您能显示预期的数据吗?这是您的预期结果和输出结果。jsonArray_data.length()等于2,因此循环执行了两次。我正在更新我的问题,请检查guys[{“color_id”:“20”,“color_name”:“Mountain”,“data”:[{“pro u id”:“785”,“pro u size”:“169},{“pro id”:“786”,“pro u size”:“179”}这是我的预期产出
datasmodels.add(data); 
 for(int m=0;m<jsonArray_data.length();m++)
      {
        JSONObject jsonObject_data=jsonArray_data.getJSONObject(m);

        /* Declare your arraylist for data object here..! */
        ArrayList<Data> datasmodels = new ArrayList();

        ConfigurableProductModel.Data data=new ConfigurableProductModel.Data();
        data.setPro_id(jsonObject_data.getString("entity_id"));
        data.setPro_size(jsonObject_data.getString("size_label"));

        sizes_list.add(jsonObject_data.getString("size_label"));

        datasmodels.add(data);
        configurableProductModel.setData(datasmodels); //Changed Here

      }