以下所说的类来自: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))


http请求返回ObjectJson,Array之类转换类型的更多相关文章

  1. TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。

    1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array. at mx.charts.series::LineSeries/ ...

  2. 使用BeanShell断言判断请求返回的Json相应结果(不同json格式整理)

    第一种json格式 { "code": 0, "msg": "success", "success": true, &q ...

  3. Web | JavaScript的引用数据类型强制转换类型

    我在这里主要的想提下的是JavaScript中的引用类型进行强制转换类型.因为对于基本数据类型的变换大多都是雷同的,很容易熟知,但是引用数据类型有一点小插曲. JavaScript的引用类型主要为对象 ...

  4. 解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题

    DateTime类型数据格式问题 问题 在使用ASP.NET MVC 在写项目的时候发现,返回给前端的JSON数据,日期类型是 Date(121454578784541) 的格式,需要前端来转换一下才 ...

  5. salesforce 零基础学习(五十八)通过sObject的field返回其对应的基础类型

    项目中有时候会要求通过sObject的Field的type类型返回其对应的基本类型,然后对其进行相关的处理,创建sObject的field可以选择的type类型是固定多的. 上述类型可以转换成几种基本 ...

  6. C++中四种转换类型的区别

    一.四种转换类型比较: 类型转换有c风格的,当然还有c++风格的.c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可 ...

  7. TypeError: Error #1034: 强制转换类型失败:无法将 "0.49" 转换为 mx.graphics.IFill。

    1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "0.49" 转换为 mx.graphics.IFill. at mx.charts.ser ...

  8. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  9. PHP强制转换类型

    PHP强制转换类型   获取数据类型 : 1.如果想查看某个表达式的值和类型,用var_dump(). 2.如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype().3.要查看某个类型 ...

随机推荐

  1. 第十九章 Linux中常用字符的特殊含义

    一.引入 在Linux Shell中有很多的特殊符号,要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果. 二.常用符号 # ; ;; . , / \ 'string'| ! {} ? $ ...

  2. 2.通过QOpenGLWidget绘制三角形

    参考:1.opengl绘制三角形 1.QOpenGLWidget的早先版本 QGLWidget是遗留Qt OpenGL模块的一部分,和其他QGL类一样,应该在新的应用程序中避免使用.相反,从Qt 5. ...

  3. PowerShell类grep

    PowerShell类grep 方法一: windows下没有grep不过有findstr, 功能差不多 方法二: powershell自带的正择功能 xxx | where {$_ -match & ...

  4. tp5伪静态--宝塔

    location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

  5. centos7安装oracle版本的jdk

    Hadoop机器上的JDK,最好是Oracle的Java JDK,不然会有一些问题,比如可能没有JPS命令. 如果安装了其他版本的JDK,卸载掉!!! 1,查看是否已经安装了jdk java -ver ...

  6. Luban图片压缩

    导入依赖: implementation 'top.zibin:Luban:1.1.3' public class MainActivity extends AppCompatActivity { p ...

  7. Docker指令整理

    date: 2018-11-18 11:09:28 updated: 2018-11-18 11:09:28 Docker指令整理 管理员权限!!! 查看docker版本 docker -v 启动 s ...

  8. 操作安装docker

    在本地建造起vue-cli服务 参考项目:https : //gitee.com/QiHanXiBei/myvue 在本地建造起一个django项目架构,通过/ hello能够打印出helloworl ...

  9. 爬虫双色球所有的历史数据并保存到SQLite

    前言 上一篇介绍了双色球走势图是怎么实现的,这一篇介绍怎么实现爬虫所有的双色球历史数据,也可以同步分享怎么同步福彩3D数据.采用的C#来实现的. 同步双色球的地址:https://datachart. ...

  10. STM32入门系列-使用C语言封装寄存器

    前面文章介绍了存储器映射.寄存器和寄存器映射,这些都是为了介绍使用 C语言封装寄存器做铺垫.这里我们通过一个实例来对 C 语言封装寄存器进行介绍. 具体实例:控制 GPIOC 端口的第 0 管脚输出一 ...