com.alibaba.fastjson.JSONArray#toJavaList ( )源码实例Demo

下面列出了com.alibaba.fastjson.JSONArray#toJavaList ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: litchi   文件: NodeInfo.java
public static Map<String, List<NodeInfo>> getNodeMaps(JSONObject jsonObject, String nodeId) {
    Map<String, List<NodeInfo>> maps = new HashMap<>();

    for (String nodeType : jsonObject.keySet()) {
        JSONArray itemArrays = jsonObject.getJSONArray(nodeType);
        if (itemArrays.isEmpty()) {
            continue;
        }

        List<NodeInfo> list = itemArrays.toJavaList(NodeInfo.class);
        for (NodeInfo si : list) {
            si.setNodeType(nodeType);
            if (si.getNodeId().equals(nodeId)) {
                si.setPid(RuntimeUtils.pid());
            }
        }

        List<NodeInfo> serverInfoList = maps.getOrDefault(nodeType, new ArrayList<>());
        if (serverInfoList.isEmpty()) {
            maps.put(nodeType, serverInfoList);
        }
        serverInfoList.addAll(list);
    }
    return maps;
}
 
源代码2 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 查询地址token余额
 * 
 * @param addresses 地址列表
 * @param execer    token 查询可用的余额 ,trade 查询正在交易合约里的token,如果是查询平行链上余额,则需要指定具体平行链的执行器execer,例如:user.p.xxx.token .
 * @param tokenSymbol   token符号名称
 * @return  账号余额列表
 */
public List<AccountAccResult> getTokenBalance(List<String> addresses, String execer, String tokenSymbol) {
    RpcRequest postData = getPostData(RpcMethod.GET_TOKEN_BALANCE);
    JSONObject requestParam = new JSONObject();
    requestParam.put("addresses", addresses);
    requestParam.put("execer", execer);
    requestParam.put("tokenSymbol", tokenSymbol);
    postData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONArray resultArray = parseObject.getJSONArray("result");
        List<AccountAccResult> javaList = resultArray.toJavaList(AccountAccResult.class);
        return javaList;
    }
    return null;
}
 
源代码3 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 查询主代币余额
 * 
 * @param addresses  地址列表
 * @param execer    coins
 * @return  余额列表
 */
public List<AccountAccResult> getCoinsBalance(List<String> addresses, String execer) {
    RpcRequest postJsonData = new RpcRequest();
    postJsonData.setMethod(RpcMethod.GET_BALANCE);
    JSONObject requestParam = new JSONObject();
    requestParam.put("addresses", addresses);
    requestParam.put("execer", execer);
    postJsonData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postJsonData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONArray resultArray = parseObject.getJSONArray("result");
        List<AccountAccResult> javaList = resultArray.toJavaList(AccountAccResult.class);
        return javaList;
    }
    return null;
}
 
源代码4 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 根据地址获取交易信息hash
 * 
 * @param flag:   0:addr 的所有交易;1:当 addr 为发送方时的交易;2:当 addr 为接收方时的交易。
 * @param height: 交易所在的block高度,-1:表示从最新的开始向后取;大于等于0的值,从具体的高度+具体index开始取。
 * @param index:  交易所在block中的索引,取值0--100000。
 * @return 交易列表
 */
public List<TxResult> getTxByAddr(String addr, Integer flag, Integer count, Integer direction, Long height,
        Integer index) {
    RpcRequest postData = getPostData(RpcMethod.GET_TX_BY_ADDR);
    JSONObject requestParam = new JSONObject();
    requestParam.put("addr", addr);
    requestParam.put("flag", flag);
    requestParam.put("count", count);
    requestParam.put("direction", direction);
    requestParam.put("height", height);
    requestParam.put("index", index);
    postData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONObject resultObj = parseObject.getJSONObject("result");
        JSONArray jsonArray = resultObj.getJSONArray("txInfos");
        List<TxResult> javaList = jsonArray.toJavaList(TxResult.class);
        return javaList;
    }
    return null;
}
 
源代码5 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 查询所有预创建的token或创建成功的token
 * 
 * @param status 0:预创建 1:创建成功 的token
 * @return  token信息列表
 */
public List<TokenResult> queryCreateTokens(Integer status,String execer) {
    RpcRequest postData = getPostData(RpcMethod.QUERY);
    JSONObject requestParam = new JSONObject();
    requestParam.put("execer", execer);
    requestParam.put("funcName", "GetTokens");
    JSONObject payloadJson = new JSONObject();
    payloadJson.put("status", status);
    payloadJson.put("queryAll", true);
    requestParam.put("payload", payloadJson);
    postData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONObject resultJson = parseObject.getJSONObject("result");
        JSONArray resultArray = resultJson.getJSONArray("tokens");
        List<TokenResult> javaList = resultArray.toJavaList(TokenResult.class);
        return javaList;
    }
    return null;
}
 
源代码6 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 查询地址下的token/trace合约下的token资产
 * 
 * @param address:  查询的地址
 * @param payloadExecer:   token 或 trade
 * @return TokenBalanceResult
 */
public List<TokenBalanceResult> queryAccountBalance(String address, String payloadExecer) {
    RpcRequest postData = getPostData(RpcMethod.QUERY);
    JSONObject requestParam = new JSONObject();
    requestParam.put("execer", "token");
    requestParam.put("funcName", "GetAccountTokenAssets");
    JSONObject payloadJson = new JSONObject();
    payloadJson.put("address", address);
    payloadJson.put("execer", payloadExecer);
    requestParam.put("payload", payloadJson);
    postData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONObject resultJson = parseObject.getJSONObject("result");
        JSONArray resultArray = resultJson.getJSONArray("tokenAssets");
        List<TokenBalanceResult> javaList = resultArray.toJavaList(TokenBalanceResult.class);
        return javaList;
    }
    return null;
}
 
源代码7 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 查询地址余额
 * 
 * @param addressList 地址
 * @param execer  coins
 * @return
 */
public List<AccountAccResult> queryBalance(List<String> addressList, String execer) {
    RpcRequest postData = getPostData(RpcMethod.GET_BALANCE);
    JSONObject requestParam = new JSONObject();
    requestParam.put("execer", execer);
    requestParam.put("addresses", addressList);
    postData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONArray jsonArray = parseObject.getJSONArray("result");
        List<AccountAccResult> javaList = jsonArray.toJavaList(AccountAccResult.class);
        return javaList;
    }
    return null;
}
 
源代码8 项目: chain33-sdk-java   文件: RpcClient.java
public List<DecodeRawTransaction> decodeRawTransaction(String rawTx) {
    RpcRequest postData = getPostData(RpcMethod.DECODE_RAW_TX);
    JSONObject requestParam = new JSONObject();
    requestParam.put("txHex", rawTx);
    postData.addJsonParams(requestParam);
    String requestResult = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(requestResult)) {
        JSONObject parseObject = JSONObject.parseObject(requestResult);
        if (messageValidate(parseObject))
            return null;
        JSONObject resultObj = parseObject.getJSONObject("result");
        JSONArray jsonArray = resultObj.getJSONArray("txs");
        List<DecodeRawTransaction> javaList = jsonArray.toJavaList(DecodeRawTransaction.class);
        return javaList;
    }
    return null;
}
 
源代码9 项目: DBus   文件: CheckTopologyHandler.java
@Override
public void check(BufferedWriter bw) throws Exception {
    AutoCheckConfigBean conf = AutoCheckConfigContainer.getInstance().getAutoCheckConf();
    String stormUIAPI = conf.getStormUIApi() + "/topology/summary";
    bw.newLine();
    bw.write("check topology start: ");
    bw.newLine();
    bw.write("============================================");
    bw.newLine();
    bw.write("api: " + stormUIAPI);
    bw.newLine();

    String strData = httpGet(stormUIAPI);

    JSONObject data = JSON.parseObject(strData);
    JSONArray topologies = data.getJSONArray("topologies");
    for (JSONObject topology : topologies.toJavaList(JSONObject.class)) {
        String name = topology.getString("name");
        String status = topology.getString("status");
        bw.write(MsgUtil.format("topology {0} status is {1}", name, status));
        bw.newLine();
    }
}
 
源代码10 项目: rocketmq   文件: PlainPermissionManager.java
public AclConfig getAllAclConfig() {
    AclConfig aclConfig = new AclConfig();
    List<PlainAccessConfig> configs = new ArrayList<>();
    List<String> whiteAddrs = new ArrayList<>();
    JSONObject plainAclConfData = AclUtils.getYamlDataObject(fileHome + File.separator + fileName,
            JSONObject.class);
    if (plainAclConfData == null || plainAclConfData.isEmpty()) {
        throw new AclException(String.format("%s file  is not data", fileHome + File.separator + fileName));
    }
    JSONArray globalWhiteAddrs = plainAclConfData.getJSONArray(AclConstants.CONFIG_GLOBAL_WHITE_ADDRS);
    if (globalWhiteAddrs != null && !globalWhiteAddrs.isEmpty()) {
        whiteAddrs = globalWhiteAddrs.toJavaList(String.class);
    }
    JSONArray accounts = plainAclConfData.getJSONArray(AclConstants.CONFIG_ACCOUNTS);
    if (accounts != null && !accounts.isEmpty()) {
        configs = accounts.toJavaList(PlainAccessConfig.class);
    }
    aclConfig.setGlobalWhiteAddrs(whiteAddrs);
    aclConfig.setPlainAccessConfigs(configs);
    return aclConfig;
}
 
源代码11 项目: pe-protector-moe   文件: TaskManager.java
private void readFile() {
    SharedPreferences preferences = App.getContext().getSharedPreferences("task", Context.MODE_PRIVATE);
    String data = preferences.getString("list", "[]");
    Log.d(TAG, data);
    try {
        Log.d(TAG, "用户任务:" + data);
        JSONArray array = JSON.parseArray(data);
        taskBeanList = array.toJavaList(TaskBean.class);
    } catch (Exception e) {
        Log.e(TAG, "读取用户任务出错!");
        e.printStackTrace();
    }
}
 
源代码12 项目: Jpom   文件: BaseOperService.java
public <E> List<E> list(Class<E> cls) {
    JSONObject jsonObject = getJSONObject();
    if (jsonObject == null) {
        return new ArrayList<>();
    }
    JSONArray jsonArray = formatToArray(jsonObject);
    return jsonArray.toJavaList(cls);
}
 
源代码13 项目: jeecg-cloud   文件: GatewayUtils.java
/**
 *  redis中的信息需要处理下 转成RouteDefinition对象
 *         - id: login
 *           uri: lb://cloud-jeecg-system
 *           predicates:
 *             - Path=/jeecg-boot/sys/**,
 * @param array
 * @return
 */

public static List<RouteDefinition> getRoutesByJson(JSONArray array) throws URISyntaxException {
    List<RouteDefinition> ls = new ArrayList<>();
    for(int i=0;i<array.size();i++) {
        JSONObject obj = array.getJSONObject(i);
        RouteDefinition route = new RouteDefinition();
        route.setId(obj.getString("id"));
        Object uri = obj.get("uri");
        if(uri==null){
            route.setUri(new URI("lb://"+obj.getString("name")));
        }else{
            route.setUri(new URI(obj.getString("uri")));
        }
        Object predicates = obj.get("predicates");
        if (predicates != null) {
            JSONArray predicatesArray = JSONArray.parseArray(predicates.toString());
            List<PredicateDefinition> predicateDefinitionList =
                    predicatesArray.toJavaList(PredicateDefinition.class);
            route.setPredicates(predicateDefinitionList);
        }

        Object filters = obj.get("filters");
        if (filters != null) {
            JSONArray filtersArray = JSONArray.parseArray(filters.toString());
            List<FilterDefinition> filterDefinitionList
                    = filtersArray.toJavaList(FilterDefinition.class);
            route.setFilters(filterDefinitionList);
        }
        ls.add(route);
    }
    return ls;
}
 
源代码14 项目: behavior3java   文件: BevTreeConfig.java
/**
 * 加载项目工程,将整个行为树都加载了
 *
 * @param path
 * @return
 */
public static List<BTTreeCfg> LoadTreesCfg(String path) {
    String text = FileUtil.readFile(path);
    JSONObject jsonObj = JSON.parseObject(text);
    JSONArray trees = jsonObj.getJSONArray("trees");
    List<BTTreeCfg> list = trees.toJavaList(BTTreeCfg.class);
    return list;
}
 
源代码15 项目: singleton   文件: RecordServiceImpl.java
@Override
public List<RecordModel> getRecordModelsByRemote() {
	// TODO Auto-generated method stub
	String getRecodeUrl = config.getRemoteBaseL10Url() + L10NAPIV1.API_L10N + "/records";
	Map<String, String> params = null;
	if (config.getAccessModel().equalsIgnoreCase("remote")) {
		params = new HashMap<String, String>();
		params.put("AccessToken", tokenStr);
	}
       logger.info("getRecordUrl:>>>"+getRecodeUrl);
	String result = HttpRequester.sendGet(getRecodeUrl, params, null);
	if(result == null) {
		refreshToken();
		result = HttpRequester.sendGet(getRecodeUrl, params, null);
	}
	logger.info(result);
	if(result == null || result.trim().equals("")) {
		return null;
	}
	JSONObject resultJsonObj = JSONObject.parseObject(result);
	int responseCode = resultJsonObj.getJSONObject("response").getInteger("code");

	if (responseCode == 204) {
		return null;
	} else {
		JSONArray recorJsonArr = resultJsonObj.getJSONArray("data");
		return recorJsonArr.toJavaList(RecordModel.class);
	}

}
 
源代码16 项目: chain33-sdk-java   文件: RpcClient.java
/**
 * @description 获取账户列表 GetAccounts
 * 
 * @return 账号列表
 */
public List<AccountResult> getAccountList() {
    RpcRequest postData = getPostData(RpcMethod.GET_ACCOUNT_LIST);
    String result = HttpUtil.httpPostBody(getUrl(), postData.toJsonString());
    if (StringUtil.isNotEmpty(result)) {
        JSONObject parseObject = JSONObject.parseObject(result);
        if (messageValidate(parseObject))
            return null;
        JSONObject resultJson = parseObject.getJSONObject("result");
        JSONArray jsonArray = resultJson.getJSONArray("wallets");
        List<AccountResult> accountList = jsonArray.toJavaList(AccountResult.class);
        return accountList;
    }
    return null;
}
 
源代码17 项目: rocketmq   文件: PlainPermissionManager.java
public void load() {

        Map<String, PlainAccessResource> plainAccessResourceMap = new HashMap<>();
        List<RemoteAddressStrategy> globalWhiteRemoteAddressStrategy = new ArrayList<>();

        JSONObject plainAclConfData = AclUtils.getYamlDataObject(fileHome + File.separator + fileName,
            JSONObject.class);
        if (plainAclConfData == null || plainAclConfData.isEmpty()) {
            throw new AclException(String.format("%s file  is not data", fileHome + File.separator + fileName));
        }
        log.info("Broker plain acl conf data is : ", plainAclConfData.toString());
        JSONArray globalWhiteRemoteAddressesList = plainAclConfData.getJSONArray("globalWhiteRemoteAddresses");
        if (globalWhiteRemoteAddressesList != null && !globalWhiteRemoteAddressesList.isEmpty()) {
            for (int i = 0; i < globalWhiteRemoteAddressesList.size(); i++) {
                globalWhiteRemoteAddressStrategy.add(remoteAddressStrategyFactory.
                        getRemoteAddressStrategy(globalWhiteRemoteAddressesList.getString(i)));
            }
        }

        JSONArray accounts = plainAclConfData.getJSONArray(AclConstants.CONFIG_ACCOUNTS);
        if (accounts != null && !accounts.isEmpty()) {
            List<PlainAccessConfig> plainAccessConfigList = accounts.toJavaList(PlainAccessConfig.class);
            for (PlainAccessConfig plainAccessConfig : plainAccessConfigList) {
                PlainAccessResource plainAccessResource = buildPlainAccessResource(plainAccessConfig);
                plainAccessResourceMap.put(plainAccessResource.getAccessKey(),plainAccessResource);
            }
        }

        // For loading dataversion part just
        JSONArray tempDataVersion = plainAclConfData.getJSONArray(AclConstants.CONFIG_DATA_VERSION);
        if (tempDataVersion != null && !tempDataVersion.isEmpty()) {
            List<DataVersion> dataVersion = tempDataVersion.toJavaList(DataVersion.class);
            DataVersion firstElement = dataVersion.get(0);
            this.dataVersion.assignNewOne(firstElement);
        }

        this.globalWhiteRemoteAddressStrategy = globalWhiteRemoteAddressStrategy;
        this.plainAccessResourceMap = plainAccessResourceMap;
    }
 
源代码18 项目: Jpom   文件: UserEditController.java
private String parseUser(UserModel userModel, boolean create) {
    String id = getParameter("id");
    if (StrUtil.isEmpty(id) || id.length() < UserModel.USER_NAME_MIN_LEN) {
        return JsonMessage.getString(400, "登录名不能为空,并且长度必须不小于" + UserModel.USER_NAME_MIN_LEN);
    }
    if (UserModel.SYSTEM_OCCUPY_NAME.equals(id) || UserModel.SYSTEM_ADMIN.equals(id)) {
        return JsonMessage.getString(401, "当前登录名已经被系统占用");
    }
    if (!checkPathSafe(id)) {
        return JsonMessage.getString(400, "登录名不能包含特殊字符");
    }
    userModel.setId(id);

    String name = getParameter("name");
    if (StrUtil.isEmpty(name)) {
        return JsonMessage.getString(405, "请输入账户昵称");
    }
    int len = name.length();
    if (len > 10 || len < 2) {
        return JsonMessage.getString(405, "昵称长度只能是2-10");
    }
    userModel.setName(name);

    UserModel userName = getUser();
    String password = getParameter("password");
    if (create || StrUtil.isNotEmpty(password)) {
        if (StrUtil.isEmpty(password)) {
            return JsonMessage.getString(400, "密码不能为空");
        }
        // 修改用户
        if (!create && !userName.isSystemUser()) {
            return JsonMessage.getString(401, "只有系统管理员才能重置用户密码");
        }
        userModel.setPassword(password);
    }
    //
    String roles = getParameter("roles");
    JSONArray jsonArray = JSONArray.parseArray(roles);
    List<String> rolesList = jsonArray.toJavaList(String.class);
    if (rolesList == null || rolesList.isEmpty()) {
        return JsonMessage.getString(405, "请选择一个角色");
    }
    userModel.setRoles(rolesList);
    return null;
}
 
源代码19 项目: Jpom   文件: MonitorListController.java
/**
 * 增加或修改监控
 *
 * @param id         id
 * @param name       name
 * @param notifyUser user
 * @return json
 */
@RequestMapping(value = "updateMonitor", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
@OptLog(UserOperateLogV1.OptType.EditMonitor)
@Feature(method = MethodFeature.EDIT)
public String updateMonitor(String id,
                            @ValidatorConfig(@ValidatorItem(value = ValidatorRule.NOT_BLANK, msg = "监控名称不能为空")) String name,
                            String notifyUser) {
    int cycle = getParameterInt("cycle", Cycle.five.getCode());
    String status = getParameter("status");
    String autoRestart = getParameter("autoRestart");

    JSONArray jsonArray = JSONArray.parseArray(notifyUser);
    List<String> notifyUsers = jsonArray.toJavaList(String.class);
    if (notifyUsers == null || notifyUsers.isEmpty()) {
        return JsonMessage.getString(405, "请选择报警联系人");
    }
    String projects = getParameter("projects");
    JSONArray projectsArray = JSONArray.parseArray(projects);
    if (projectsArray == null || projectsArray.size() <= 0) {
        return JsonMessage.getString(400, "请至少选择一个项目");
    }
    boolean start = "on".equalsIgnoreCase(status);
    MonitorModel monitorModel = monitorService.getItem(id);
    if (monitorModel == null) {
        monitorModel = new MonitorModel();
    }
    //
    List<MonitorModel.NodeProject> nodeProjects = new ArrayList<>();
    projectsArray.forEach(o -> {
        JSONObject jsonObject = (JSONObject) o;
        nodeProjects.add(jsonObject.toJavaObject(MonitorModel.NodeProject.class));
    });
    monitorModel.setAutoRestart("on".equalsIgnoreCase(autoRestart));
    monitorModel.setCycle(cycle);
    monitorModel.setProjects(nodeProjects);
    monitorModel.setStatus(start);
    monitorModel.setNotifyUser(notifyUsers);
    monitorModel.setName(name);

    if (StrUtil.isEmpty(id)) {
        //添加监控
        id = IdUtil.objectId();
        UserModel user = getUser();
        monitorModel.setId(id);
        monitorModel.setParent(UserModel.getOptUserName(user));
        monitorService.addItem(monitorModel);
        return JsonMessage.getString(200, "添加成功");
    }
    monitorService.updateItem(monitorModel);
    return JsonMessage.getString(200, "修改成功");
}
 
源代码20 项目: sds   文件: InfluxHeartbeatDaoImpl.java
@Override
    public List<HeartbeatDO> queryHeartbeatList(String appGroupName, String appName, String point, Date startTime,
                                                Date endTime) {

        List<HeartbeatDO> result = Lists.newArrayList();

        if (StringUtils.isBlank(appGroupName) || StringUtils.isBlank(appName) || StringUtils.isBlank(point) || startTime == null || endTime == null) {
            return null;
        }

        /**
         * 构建influxdb的查询字符串
         */
        String queryStr = buildQueryString(appGroupName, appName, point, startTime, endTime);

        MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
        params.add("q", queryStr);
        ResponseEntity<String> exchange = restTemplate.exchange(queryUrl, HttpMethod.POST, new HttpEntity<>(params,
                null), String.class);

        if (!exchange.getStatusCode().is2xxSuccessful() || StringUtils.isBlank(exchange.getBody())) {
            return null;
        }

//        {
//            "results": [{
//                "statement_id": 0,
//                "series": [{
//                    "name": "heartbeat",
//                    "columns": ["time", "appGroupName", "appName", "concurrentNum", "downgradeNum", "exceptionNum",
//                    "ip", "point", "timeoutNum", "visitNum"],
//                    "values": [
//                            ["2019-09-15T08:45:00.844Z", "htw", "htw-order", 15, 10, 99, "10.2.2.9", "visitPoint",
//                            23, 100000],
//                            ["2019-09-15T08:45:21.959Z", "htw", "htw-order", 15, 10, 99, "10.2.2.9", "visitPoint",
//                            23, 100000]
//                        ]
//                    }
//                ]
//            }]
//        }

        /**
         * todo 这块代码后续需要优化 manzhizhen
         */
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(INFLUXDB_DATE_FORMAT);
        JSONObject responseJsonObject = JSONObject.parseObject(exchange.getBody());
        JSONArray responseResultsJsonArray = responseJsonObject.getJSONArray("results");
        JSONObject resultJsonObject = (JSONObject) responseResultsJsonArray.get(0);
        JSONArray seriesJsonArray = resultJsonObject.getJSONArray("series");
        JSONObject heartbeatJsonObject = (JSONObject) seriesJsonArray.get(0);
        JSONArray columnsJsonArray = heartbeatJsonObject.getJSONArray("columns");
        JSONArray valuesJsonArray = heartbeatJsonObject.getJSONArray("values");

        List<Object> conlumsList = columnsJsonArray.toJavaList(Object.class);
        List<Object> valuesList = valuesJsonArray.toJavaList(Object.class);
        Map<String, Object> map = Maps.newHashMap();
        for (int i = 0; i < valuesList.size(); i++) {
            for (int j = 0; j < conlumsList.size(); j++) {
                map.put(conlumsList.get(j).toString(), ((List) valuesList.get(i)).get(j));
            }

            HeartbeatDO heartbeatDO = new HeartbeatDO();
            try {
                heartbeatDO.setAppGroupName(map.get("appGroupName").toString());
                heartbeatDO.setAppName(map.get("appName").toString());
                heartbeatDO.setPoint(map.get("point").toString());
                heartbeatDO.setDowngradeNum(Long.valueOf(map.get("downgradeNum").toString()));
                heartbeatDO.setVisitNum(Long.valueOf(map.get("visitNum").toString()));
                heartbeatDO.setExceptionNum(Long.valueOf(map.get("exceptionNum").toString()));
                heartbeatDO.setTimeoutNum(Long.valueOf(map.get("timeoutNum").toString()));
                heartbeatDO.setMaxConcurrentNum(Integer.valueOf(map.get("concurrentNum").toString()));
                heartbeatDO.setStatisticsCycleTime(simpleDateFormat.parse(map.get("time").toString()));

                result.add(heartbeatDO);

            } catch (Exception e) {
                logger.warn("InfluxHeartbeatDaoImpl#queryHeartbeatList 心跳数据转换异常:" + JSON.toJSONString(map), e);
            }
        }

        return result;
    }