当前位置: 首页 > 知识库问答 >
问题:

如何在Java中拆分地图项?

相弘方
2023-03-14
{
    "item": {
        "Đã đặt cọc": 0,
        "Chờ duyệt": 0,
        "Mới tạo": 0,
        "Đang đặt hàng": 0,
        "Đang VC TQ-VN": 0,
        "Đang phát hàng": 0,
        "Đã nhận được hàng": 0,
        "Đã hủy": 0
    },
    "name": "Đơn mua hộ"
}
{
    "item": [
        {
            "name": "Đã đặt cọc",
            "count": "0"
        },
        {
            "name": "Chờ duyệt",
            "count": "0"
        },
         ...
    ],
    "name": "Đơn kí gửi"
}
...
HashMap<String, Object> itemSell = new HashMap<>();
// Order Sell
orderSell.put("name", "Đơn mua hộ");
for (Map.Entry<String, Long> pair : reportsStaticSellEcomos.entrySet()) {
     itemSell.put("name", pair.getKey());
     itemSell.put("count", pair.getValue());
     orderSell.put("item", itemSell);
}
summary.add(orderSell);
{
                "item": {
                    "name": "Đã hủy",
                    "count": 0
                },
                "name": "Đơn mua hộ"
            }

是的,它只显示1项。

请帮我拿到所有的,不仅仅是1

共有1个答案

贺宜修
2023-03-14

您的项必须是itemsell的集合,而不是单个元素

试试这个

// Order Sell
orderSell.put("name", "Đơn mua hộ");
List<HashMap<String, Object>> items = new ArrayList<>(reportsStaticSellEcomos.entrySet().size());
for (Map.Entry<String, Long> pair : reportsStaticSellEcomos.entrySet()) {
     HashMap<String, Object> itemSell = new HashMap<>();
     itemSell.put("name", pair.getKey());
     itemSell.put("count", pair.getValue());
     items.add(itemSell);
}
orderSell.put("item", items);
summary.add(orderSell);

此外,使用hashmap 表示并不十分有效,也不容易理解。相反,我建议您创建一个类item,在其中可以封装这些字段。

public class Item {
  private final String name;
  private final int count;
  // constructor
  // equals and hashcode
  // getter, setter
}
 类似资料:
  • 我得到了如下表格中的地图: 如何才能将“Jsmith”作为键“owner”的值?

  • 问题内容: 如果我有网址。 https://graph.facebook.com/me/home?limit=25&since=1374196005 我可以获取(或拆分)参数(避免硬编码)吗? 像这样 https: /// **graph.facebook.com /// 我/家 /// {limit = 25,sincse = 1374196005}** 问题答案: 使用Android的类。 h

  • 我有一个字符串,,我想把它分成两个字符串: 这意味着第一个字符串将包含之前的字符,第二个字符串将包含之后的字符。我还想检查字符串中是否有。如果没有,我会抛出一个异常。我该如何做到这一点?

  • 如何拆分阵列?例如,我有一个如下字符数组: 现在,我想用位置6上可以看到的空格拆分数组。拆分后数组将如下所示: 我确实在这里找到了类似的帖子,但在java或Kotlin中没有。 我知道我可以这样做: 但是,如果可能的话,我想要另一种方式。这占用了大量内存,在大型数组上也需要大约30-40毫秒 如何使用java或静态编程语言做到这一点

  • 问题内容: 在java中如何拆分一个字符串?如何使用split方法? 问题答案: “004-034556”为例用方法即可: 请注意,这需要一个正则表达式,因此请记住在必要时转义特殊字符。 _ 12个具有特殊含义的字符:反斜杠,插入符号,美元符号,句点或点,竖线或竖线符号,问号,星号或星号,加号,左括号,右括号,以及方括号,大括号,这些特殊字符通常称为“元字符”。 所以,如果你想在如期间分点.的意思

  • 我有输入字符串'~~'作为分隔符。 例如:字符串s=“1~~vijay~~25~~pune”;当我在Java中用'~\\~'拆分它时,它工作得很好。 还有其他人面临同样的问题吗?请就这个问题发表评论。