以下所说的类来自: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. 【状态压缩DP】SCOI2009 围豆豆

    题目大意 洛谷链接 在一个\(N×M\)的矩阵方格内分布着\(D\)颗豆子,每颗豆有不同的分值\(V_i\).游戏者可以选择任意一个方格作为起始格,每次移动可以随意的走到相邻的四个格子,直到最终又回到 ...

  2. package wang/test is not in GOROOT (/usr/local/go/src/wang/test)

    如果要用 gopath模式 引入包 从src目录下开始引入 需要关闭 go mod 模式 export GO111MODULE=off 如果使用go mod 模式 export GO111MODULE ...

  3. spring boot:使用validator做接口的参数、表单、类中多字段的参数验证(spring boot 2.3.1)

    一,为什么要做参数验证? 永远不要相信我们在后端接收到的数据, 1,防止别人通过接口乱刷服务:有些不怀好意的人或机构会乱刷我们的服务,例如:短信接口, 相信大家可能很多人在工作中遇到过这种情况 2,防 ...

  4. ffmpeg实现视频的翻转与旋转(ffmpeg4.2.2)

    一,ffmpeg的安装 请参见: https://www.cnblogs.com/architectforest/p/12807683.html 说明:刘宏缔的架构森林是一个专注架构的博客,地址:ht ...

  5. js堆排序

    堆的预备知识 堆是一个完全二叉树. 完全二叉树: 二叉树除开最后一层,其他层结点数都达到最大,最后一层的所有结点都集中在左边(左边结点排列满的情况下,右边才能缺失结点). 大顶堆:根结点为最大值,每个 ...

  6. ES7 - 11新特性总结

    es7 1 Array.prototype.includes 之前都是使用indexOf判断,没有返回-1,现在includes更加方便 Includes 方法用来检测数组中是否包含某个元素,返回bo ...

  7. oracle oracle sqldeveloper 12505 创建连接失败

    ref:http://blog.csdn.net/yangwenxue_admin/article/details/45062557

  8. MAP;MLE

    判别学习算法:直接对问题进行求解,比如二分类问题,都是在空间中寻找一条直线从而把类别的样例分开,对于新的样例只要判断在直线的那一侧就可. ==>这种直接求解的方法称为判别学习方法 生成学习算法: ...

  9. JavaScript核心 Dom Bom

    <div id="time">2020-9-27</div> <script> //文档页面从上往下加载,先有标签才能获取元素对象,script ...

  10. angular页面

    <!DOCTYPE html><!--[if lt IE 9]> <html lang="zh" xmlns:ng="http://angu ...