JsonArray与object的转换(FastJson)

1、从JsonObject中获取JsonArray、(从获取的复杂数据中取出其中的List)

@Override
    public JSONArray getEnpList(Integer pageNumber, Integer pageSize) {
        MultiValueMap<String, String> requestEntity = getBaseMultiValueMap(CommonPara.POST, "open.shopweb.departments.getDeptListByPage");
        requestEntity.add("pageNumber", String.valueOf(pageNumber));
        requestEntity.add("pageSize", String.valueOf(pageSize));
        setSig(requestEntity);
        JSONObject data = doRestTemplate(requestEntity);
        JSONArray records = data.getJSONArray("records");
        return records;
    }

 /**
     * 执行调用
     *
     * @param requestEntity
     * @return
     */
    private JSONObject doRestTemplate(MultiValueMap<String, String> requestEntity) {
        HttpEntity<Object> httpEntity = new HttpEntity<>(requestEntity, getHttpHeaders());
        ResponseEntity<JSONObject> response = restTemplate.exchange(URL, HttpMethod.POST, httpEntity, JSONObject.class);
        JSONObject responseData = response.getBody();
        JSONObject data = responseData.getJSONObject("data");
        return data;
    }

 2、从JsonArrayList中获取第一条状态正常的数据,从中获取数据

/**
     * 获取视频资料
     * @param enpPoint
     * @return
     */
    @RequestMapping("/getVideo")
    public ReturnEntity getVideo(EnpPoint enpPoint) {
        //获取设备列表
        ReturnEntity returnEntity = new ReturnEntity();
        List<EnpVideo> enpVideos = enpVideoService.getDeviceByEnpId(enpPoint.getEnpId());
        if(CollectionUtils.isNotEmpty(enpVideos)){
            List<EnpVideo> enpVideos1 = new ArrayList<>();
            String onLineVideoId = "";
            JSONArray videoDeviceList = enpVideoService.getVideoDeviceList(enpVideos.get(0).getStoreId());

            if(videoDeviceList != null && videoDeviceList.size()>0){
                JSONObject videoJson = videoDeviceList.getJSONObject(0);
                JSONArray devices = videoJson.getJSONArray("devices");
                for (int j = 0; j < devices.size(); j++) {
                    JSONObject device = devices.getJSONObject(j);
                    if("1".equals(device.getString("online"))){
                        onLineVideoId += device.getString("id");
                    }
                }
            }

            for(EnpVideo video: enpVideos){
                if(onLineVideoId.indexOf(video.getDeviceId())>-1){
                    enpVideos1.add(video);
                }
            }

            if(enpVideos1.size()>0) {
                EnpVideo enpVideo = enpVideos1.get(0);
                JSONObject jsonObject = enpVideoService.getVideoList(String.valueOf(enpVideo.getDeviceId()));
                jsonObject.put("deviceList", enpVideos1);
                jsonObject.put("isControl", enpVideo.getIsControl());
                returnEntity.setReturnData(jsonObject);
            }else{
                returnEntity.setErrorEntity("无可用设备!");
            }
        }else{
            returnEntity.setErrorEntity("无可用设备!");
        }
        return returnEntity;
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值