【问题标题】:How can I assign multiple lists to a property of my object?如何将多个列表分配给我的对象的属性?
【发布时间】:2015-10-11 09:46:47
【问题描述】:

我有一个产品对象,它有很多这样的属性

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 数据中的值(如下)为我的产品分配尺寸。 我正在扩展这个类,现在我需要添加另一个大小属性,即数组数组。我需要在这样的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 中对我的产品对象进行设置。我已经尝试查找 Hashmaps 和 Arraylist,但还没有找到正确的方法。

【问题讨论】:

  • 此声明:"How can I set this on my product object in JAVA." 不清楚。请尝试重新措辞和澄清。如果您尝试将产品集合添加到 Product 类,请不要这样做。它不属于那里。
  • 基本上我正在尝试将尺寸添加到产品类中。
  • 再次澄清。 size 是 Product 对象的集合吗?同样,如果是,正确的答案是您不应该尝试将其添加到 Product 中。你的听起来像是一个 XY 问题,你正在寻找一个不正确问题的特定解决方案。最好更多地告诉我们您要解决的总体问题,而不是您要如何解决它。
  • 我添加了更多信息。告诉我问题现在是否清楚。

标签: java php arrays json hashmap


【解决方案1】:

您可以使用所有属性为 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
}

然后您可以将大小设置为对象并将其作为列表添加到产品中

private ArrayList<Size> yoursizes;

【讨论】:

  • 这就是我想要的。非常简单的解决方案,但我想不出。
【解决方案2】:

两件事可能有助于找到解决问题的方法。

首先,您可能想要解析 JSON 输入。这个answer 可以帮助您完成这项工作。

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

【讨论】:

  • 谢谢。我已经知道如何解析 json,让我了解一下如何将多个列表分配给一个值。
猜你喜欢
  • 2020-04-21
  • 2010-11-15
  • 2014-04-05
  • 1970-01-01
  • 2022-01-15
  • 2020-05-22
  • 2012-11-09
  • 2014-01-16
  • 1970-01-01
相关资源
最近更新 更多