提取json文件数据

该代码段读取了一个JSON文件,解析其内容,特别是data数组,然后将数据转换为JsonDataUtil对象。进一步地,它执行了GCJ-02到WGS-84的坐标转换,并更新了动态停车服务中的GPS坐标。最后,它确认修改并打印出“修改成功”的消息。
摘要由CSDN通过智能技术生成

public AjaxResult jso(){
        JSONObject jsonObject = new JSONObject();
        File file = new File("D:\\ceshi.json");
        String jsonStr ="";
        List<JsonDataUtil> list = new ArrayList<>();
        try {
            Reader reader = new InputStreamReader(new FileInputStream(file),"utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            reader.close();
            jsonStr = sb.toString();
            jsonObject = JSON.parseObject(jsonStr);
            JSONArray data = jsonObject.getJSONArray("data");
            String js = JSONObject.toJSONString(data);
            list = JSONObject.parseArray(js, JsonDataUtil.class);
            for (JsonDataUtil jsonDataUtil : list) {
                String[] split = jsonDataUtil.getXy().split(",");
                jsonDataUtil.setLongitude(split[0]);
                jsonDataUtil.setLatitude(split[1]);
            }

            for (JsonDataUtil jsonDataUtil : list) {
                Map<String, Double> stringDoubleMap = PlatUtil.transformGCJ2WGS(Double.valueOf(jsonDataUtil.getLatitude()), Double.valueOf(jsonDataUtil.getLongitude()));
                String y = stringDoubleMap.get("lat").toString();
                String x = stringDoubleMap.get("lon").toString();
                String name = jsonDataUtil.getParkName();
                UpdateQuery updateQuery = new UpdateQuery();
                updateQuery.setGpsx(x);
                updateQuery.setGpsy(y);
                updateQuery.setParkName(name);
                iDynamicParkingService.updategps(updateQuery);
                System.out.println("修改成功");
            }



        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return AjaxResult.success(list);
    }

转换为需要的格式方便以后cv

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值