如何将多个列表分配给对象的属性


How can I assign multiple lists to a property of my object?

我有一个product对象,它有很多像这样的属性

public class Product {
     private int deal_id;
     private String deal_key;
     private String deal_title;
     private String url_title;
     private int deal_value;
.........//setters and getters
}

每个产品都有一些尺寸,也可以是0。我想从我收到的json数据(下面)的值分配大小到我的产品。我要扩展这个类现在我需要添加另一个属性size也就是数组的数组。我需要在api上从json中设置它,就像这样。

"size" : [ { "product_size_id": "695", "deal_id": "179", "size_name": "None", "quantity": "1", "size_id": "1" }, 
           { "product_size_id": "695", "deal_id": "179", "size_name": "None", "quantity": "1", "size_id": "1" } ]

我如何在JAVA的产品对象上设置这个。我试过查找hashmap和Arraylist,但没有找到正确的方法。

你可以用你所有的属性创建一个Size对象

public class Size {
    private int product_size_id;
    private int deal_id;
    private String size_name;
    private int quantity;
    private int size_id;
....setters and getters
}

然后你可以设置size作为对象,并将其添加到Product作为列表

private ArrayList<Size> yoursizes;

有两件事可以帮助你找到解决问题的办法。

首先,您可能想要解析JSON输入。这个答案可能会帮助你完成这件事。

其次,我认为你需要一个数据结构,允许将多个列表分配给一个值(或类似的东西)。有一些Java库可以帮助您做到这一点。Guava和Commons Collections就是两个例子。