我有一个生成json的Map,如下所示
{
"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个
2条答案
按热度按时间h5qlskok1#
您的项目必须是
itemSell
不是单个元素。试试这个
另外,使用
HashMap<String, Object>
代表你的Item
效率不高,也不容易理解。相反,我建议您创建一个类Item
您可以在其中封装这些字段。jecbmhm32#
循环会重复覆盖itemsellMap的“name”和“count”键。您想在这里使用列表。
您可能还想看看jackson,它可以根据类结构自动完成这类工作。