JSON中存在数组处理

296 阅读1分钟

json数据

{
    "extra_info": {
        "total_count": 1
    },
    "data": [        
        {
            "app_poi_code": "****",
            "app_food_code": "***",
            "operation": 0,
            "skus": "[{\"available_times\":{\"friday\":\"\",\"monday\":\"\",\"saturday\":\"\",\"sunday\":\"\",\"thursday\":\"\",\"tuesday\":\"\",\"wednesday\":\"\"},\"box_num\":\"\",\"box_price\":\"\",\"isSellFlag\":1,\"ladder_box_num\":\"1\",\"ladder_box_price\":\"0.0\",\"limit_open_sync_stock_now\":false,\"location_code\":\"\",\"min_order_count\":\"1\",\"price\":\"16.9\",\"sku_id\":\"******\",\"spec\":\"均码\",\"stock\":\"10\",\"unit\":\"\",\"upc\":\"\",\"weight\":\"10\",\"weight_for_unit\":\"10.00\",\"weight_unit\":\"克(g)\"}]"           
        }
    ]
}
JSONArray jsonArray = JSONObject.parseArray(item.getSkus());
Iterator arryIterator = jsonArray.iterator();
while (arryIterator.hasNext()) {
    JSONObject temp = (JSONObject) (arryIterator.next());
    Map skuMap = JSONObject.parseObject(temp.toJSONString());
    if (!skuMap.containsKey("sku_id")) {
        log.info("同步美团商品,无SKU,美团门店号={},appfoodcode={}", item.getAppShopCode(), item.getAppFoodCode());
        sb.append("同步美团商品,无SKU,美团门店号=" + item.getAppShopCode() + ",appfoodcode=" + item.getAppFoodCode() + System.getProperty("line.separator"));
        continue;
    }
    item.setSkuId(String.valueOf(skuMap.get("sku_id")));
    sb.append("美团门店号=" + item.getAppShopCode() + ";appfoodcode=" + item.getAppFoodCode() + ";skuid=" + String.valueOf(skuMap.get("sku_id"))+ System.getProperty("line.separator"));
    this.saveMeituanShopSku(item);
}