zoukankan      html  css  js  c++  java
  • http请求返回ObjectJson,Array之类转换类型

    以下所说的类来自:package com.alibaba.fastjson
    1,形如以下返回,其实是个json的map形式的返回
    {
    "success": true,
    "message": null,
    "data": {
    "cpu_total": [
    12880,
    12880,
    12880,
    ......
    "cpu_allocated": [
    4411,
    4447,
    4458,
    4480,
    4485,
    ......
     
    请求及返回如下(eccHttpUtils在上一篇有详细解释):
    JSONObject requestBody = new JSONObject();
    requestBody.put("Region", region);
    JSONObject postResult = eccHttpUtils.doPost(url.concat(cpumem) , requestBody);

    Map<String, String> map = JSONObject.parseObject(postResult.getJSONObject("data").toJSONString(), new TypeReference<Map<String, String>>(){}.getType());//先把返回的data解析成一个map
    List<Integer> cpuTotalList = JSONObject.parseObject(map.get("cpu_total"), new TypeReference<List<Integer>>() {}.getType());//对于data这个map,拿到key所对应的value,value是个List 如
     [
    12880,
    12880,
    12880,
    ......]
     顺带记录下List的倒序转换方法:
       Collections.reverse(cpuTotalList);
    以及List取第几位到第几位的方法,注意不是在原有list直接截取,而是返回一个list!截取原则左闭右开:
    List<Integet> newList = cpuTotalList.subList(0, 15);

    2,形如以下返回,其实是json的Array(List)形式的返回:
    {
    "data": [
    {
    "groupName": "组名1",
    "yaxis": 67
    },
    {
    "groupName": "组名2",
    "yaxis": 66
    },
    ......
    JSONObject postResult = eccHttpUtils.doPost(url.concat(top).concat(finCloudReq.getInstanceTop()), JSONObject.parseObject(JSONObject.toJSONString(finCloudReq)));//对象转JSONObject
    List<FinCloudModel> models = JSON.parseArray(postResult.getJSONArray("data").toJSONString(), FinCloudModel.class);
    因为返回的data里面的就是一个个对象的list,因此采用
    getJSONArray去解析这个data。值得注意的是
    .toJSONString(),之前采用toString()方法,返回的string是无法转成JsonArray的,会抛异常,因为这么转出来的是个字符串,不是json型的字符串,没有{}包着。
    3,请求时的对象,转成JSONObject的方法:
    JSONObject.parseObject(JSONObject.toJSONString(outNetReq))


  • 相关阅读:
    简单NAT配置
    PBR路由策略配置
    网络转换协议NAT
    华三ppp协议
    华三ssh和Telnet
    华三NAT总结
    华三IRF配置
    思科ASA对象组NAT
    思科ASA基本配置
    ip->地址 库
  • 原文地址:https://www.cnblogs.com/zaierzai/p/11857775.html
Copyright © 2011-2022 走看看