Java处理带经纬度的地址
安卓返回的是这样的数据结构
{
"shop_basic": [
{
"key": "address",
"value": "{"address":"广东省深圳市南山区高新南七道12号惠恒大楼二期1楼米奥卡诺","latitude":22.534523,"longitude":113.947624}"
},
{
"key": "name",
"value": "店铺名字"
},
{
"key": "type",
"value": "1"
},
{
"key": "covered",
"value": "664"
},
{
"key": "rent_month",
"value": "666"
},
{
"key": "shop_type",
"value": "1"
},
{
"key": "open_status",
"value": "1"
}
],
"shop_business": [
{
"key": "rent_day",
"value": "999"
},
{
"key": "property_status",
"value": "1"
}
],
"shop_image": [
{
"key": "door",
"value": "[https://sscm-prod.oss-cn-hangzhou.aliyuncs.com/lego/prod/saas/collect/Screenshot_2021-08-16-15-15-25-555_com.shuwei.sscm.jpg, https://sscm-prod.oss-cn-hangzhou.aliyuncs.com/lego/prod/saas/collect/Screenshot_2021-08-17-16-29-59-232_com.shuwei.sscm.jpg, https://sscm-prod.oss-cn-hangzhou.aliyuncs.com/lego/prod/saas/collect/Screenshot_2021-08-16-15-15-25-555_com.shuwei.sscm.jpg, https://sscm-prod.oss-cn-hangzhou.aliyuncs.com/lego/prod/saas/collect/Screenshot_2021-08-16-15-15-25-555_com.shuwei.sscm.jpg, https://sscm-prod.oss-cn-hangzhou.aliyuncs.com/lego/prod/saas/collect/Screenshot_2021-08-16-15-15-25-555_com.shuwei.sscm.jpg]"
}
],
"shop_project": [
{
"key": "renovation",
"value": "88"
},
{
"key": "water_supply",
"value": "1"
},
{
"key": "drainage",
"value": "1"
},
{
"key": "smoke_tube",
"value": "1"
},
{
"key": "fire",
"value": "[]"
}
]
}
。。。。。。
我们后台在处理的时候,分析得到只有第一个地址有所区别,其他的都可以统一进行处理
所以我们单独解决带经纬度的地址
如下代码
private void parseBasicLngLatInfo(ListshopBasicList, CollectionShop collectionShop) { Map basicMap = new HashMap<>(16); if (CollectionUtil.isNotEmpty(shopBasicList)) { basicMap = shopBasicList.stream().collect(Collectors.toMap(BunkSaveReq::getKey, BunkSaveReq::getValue)); if (null != basicMap.get(CollectShopRequireEnum.ADDRESS.getKey())) { try { String address = basicMap.get(CollectShopRequireEnum.ADDRESS.getKey()); JSonObject addressObj = JSONObject.parseObject(address); Double longitude = Double.valueOf(addressObj.get("longitude").toString()); Double latitude = Double.valueOf(addressObj.get("latitude").toString()); collectionShop.setLongitude(longitude); collectionShop.setLatitude(latitude); } catch (Exception e) { log.info("save: e:{}", e); } } } }



