java解析String字符串(json格式)

String content = “[{“name”:“zhangsan”,“password”:“123”,“email”:“123”}”

+ “,{“name”:“lisi”,“password”:“123”,“email”:“123”}]”;

List<Map<String, Object>> equityList = new ArrayList<>();
// 解析返回值
JSONObject object = null;

    try {
        // 转型为JSONObject
        object = JSONObject.parseObject(content);
        System.out.println(object);
    } catch (Exception e) {
        LOGGER.info("JSONObject解析异常");
        e.printStackTrace();
    }
    
    // 将data里面的数据转为json数组格式
    JSONArray jsonArray = object.getJSONArray("data");
    
    // 遍历数组数据
    for (int i = 0; i < jsonArray.size(); i++){
        Integer item_id = jsonArray.getJSONObject(i).getInteger("item_id");
        Integer oneType = jsonArray.getJSONObject(i).getInteger("type");
        Integer similarity = jsonArray.getJSONObject(i).getInteger("similarity");

        if (Objects.isNull(item_id)){
            throw new ServiceException("返回参数物品ID不可为空");
        }
        if (Objects.isNull(oneType)){
            throw new ServiceException("返回参数一级类目不可为空");
        }
        // 首先查询品牌权益
        BrandEquity brandEquity = brandEquityRepository.findByEquityIdAndCode(item_id, oneType);
        if (Objects.isNull(brandEquity)){
            // 该物品不属于品牌权益时查询票务权益
            TicketEquity ticketEquity = ticketEquityRepository.findByEquityIdAndCode(item_id, oneType);
            if (Objects.isNull(ticketEquity)){
                throw new ParameterException("权益不存在");
            }else {
                // 将权益信息封装进map
                Map<String, Object> ticketMap = new HashMap<>();
                ticketMap.put("id", ticketEquity.getId());
                ticketMap.put("equity_name", ticketEquity.getEquityName());

                equityList.add(ticketMap);
            }
        }else {
            // 物品属于品牌权益,然后封装进map
            Map<String, Object> brandMap = new HashMap<>();
            brandMap.put("id", brandEquity.getId());
            brandMap.put("equity_name", brandEquity.getEquityName());

            equityList.add(brandMap);
        }
    }
    return equityList;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值