解析json转换map

该博客主要介绍了如何将一个JSON字符串转换为Map对象。通过使用JSONObject类将JSON解析为Map,然后遍历Map的每个条目,进一步解析包含在其中的子订单信息。最后,将所有子订单信息存储到一个ArrayList中,并将其添加到主订单Map中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public Map<String,Object> pareseJson(String message) {
    Map<String,Object> orderMap = new HashMap<String, Object>();//主订单
   List<Map<String,Object>> orderItemList = new ArrayList<Map<String, Object>>();//子订单
    Map<String,Object> map =new HashMap<String, Object>();
    JSONObject CustomerOrder = JSONObject.fromObject(message);

    Map<String, Object> CustomerMap = JSONObject.fromObject(CustomerOrder);

    for(Map.Entry<String,Object> entry : CustomerMap.entrySet()){
        Object customer = entry.getValue();
        JSONObject jsonObjectCustomer = JSONObject.fromObject(customer);
        Map<String, Object> orderMapJson = JSONObject.fromObject(jsonObjectCustomer);
        System.out.println("KEY:"+entry.getKey()+"  -->  Value:"+entry.getValue()+"\n");
        for(Map.Entry<String, Object> entry1:orderMapJson.entrySet()){
            if("Products".equals(entry1.getKey())){
                Object product = entry1.getValue();
                JSONObject orderItem = JSONObject.fromObject(product);
                Map<String,Object> orderItemMap = JSONObject.fromObject(orderItem);
                ObjectMapper mapper = new ObjectMapper();
                //List<LinkedHashMap<String, Object>> list = mapper.readValue(message, List.class);

                for(Map.Entry<String, Object> entry2:orderItemMap.entrySet()){
                    map.put(entry2.getKey(),entry2.getValue());
                    orderItemList.add(map);
                    System.out.println("KEY:"+entry2.getKey()+"  -->  Value:"+entry2.getValue()+"\n");
                }
            }
            System.out.println("KEY:"+entry1.getKey()+"  -->  Value:"+entry1.getValue()+"\n");
        }

    }
    orderMap.put("orderItem",orderItemList);
    return orderMap;
}
  /*  //JSONObject jsStr = JSONObject.fromObject(message);
    ObjectMapper mapper = new ObjectMapper();
    Map<String,Object> OrderMap = null;//转成map*//*
    try {
        OrderMap = mapper.readValue(message,HashMap.class);
    } catch (IOException e) {
        e.printStackTrace();
    }
    Map<String,Object> CustomerOrderMap =(Map<String, Object>) OrderMap.get("CustomerOrder");
    if("Products".equals(CustomerOrderMap.get("Products")))
    CustomerOrderMap.get("");*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值