使用Jackson解析Json数组

这篇笔记介绍了如何使用Jackson-all-1.8.5.jar库解析包含Json数组的字符串。示例中展示了解析包含订单详情、商品信息等复杂结构的Json数据,并提供了运行程序后的结果示例。

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

 笔记记录一下使用jackson解析Json数组

使用jackson-all-1.8.5.jar这个jar包对于诸如下面的json数组进行解析:

{"avgSendTime":2400.0,"caution":"","cityId":999999,"ctime":1523154859,"daySeq":"13","deliveryTime":0,"detail":"[{\"app_food_code\":\"锅包肉\",\"box_num\":1,\"box_price\":0.01,\"cart_id\":0,\"food_discount\":1,\"food_name\":\"锅包肉\",\"food_property\":\"特辣\",\"price\":0.01,\"quantity\":1,\"sku_id\":\"\",\"spec\":\"大份\",\"unit\":\"份\"}]","dinnersNumber":0,"ePoiId":"123","extras":"[{}]","hasInvoiced":0,"invoiceTitle":"","isFavorites":false,"isPoiFirstOrder":true,"isThirdShipping":0,"latitude":29.774491,"logisticsCode":"0000","longitude":95.369272,"orderId":9660995202,"orderIdView":28982501435874421,"originalPrice":0.03,"payType":1,"poiAddress":"南极洲04号站","poiFirstOrder":true,"poiId":2898250,"poiName":"t_jFGhznyZ","poiPhone":"4009208801","poiReceiveDetail":"{\"actOrderChargeByMt\":[{\"comment\":\"活动款\",\"feeTypeDesc\":\"活动款\",\"feeTypeId\":10019,\"moneyCent\":0}],\"actOrderChargeByPoi\":[],\"foodShareFeeChargeByPoi\":0,\"logisticsFee\":1,\"onlinePayment\":3,\"wmPoiReceiveCent\":3}","recipientAddress":"色金拉 (大厦11)@#西藏自治区林芝市墨脱县色金拉","recipientName":"王五(先生)","recipientPhone":"18800467403","shipperPhone":"","shippingFee":0.01,"status":4,"taxpayerId":"","total":0.03,"utime":1523154874}

        如上面的样例:

ObjectMapper mapper = new ObjectMapper();
        String json = " {\"app_food_code\":\"锅包肉\",\"box_num\":1,\"box_price\":0.01,\"cart_id\":0,\"food_discount\":1,\"food_name\":\"锅包肉\",\"food_property\":\"特辣\",\"price\":0.01,\"quantity\":1,\"sku_id\":\"\",\"spec\":\"大份\",\"unit\":\"份\"} ";
        String json1 = "{\"actOrderChargeByMt\":[{\"comment\":\"活动款\",\"feeTypeDesc\":\"活动款\",\"feeTypeId\":10019,\"moneyCent\":0}],\"actOrderChargeByPoi\":[],\"foodShareFeeChargeByPoi\":0,\"logisticsFee\":1,\"onlinePayment\":3,\"wmPoiReceiveCent\":3}";
        System.out.println(json);
        Food food = mapper.readValue(json,Food.class);
        Order order = mapper.readValue(json1,Order.class);
        System.out.println(food.getApp_food_code());
        System.out.println(food.getBox_num());
        System.out.println(food.getBox_price());
        String strJson = mapper.writeValueAsString(order);
        System.out.println(strJson);

运行程序的结果 如下图:

        

        解析的字符串中含有的斜线是进行转义的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值