解析Rest接口返回的Json格式的数据

待解析的Json格式的字符串:

{"status":"success","data":{"resultType":"matrix","result":[{"metric":{},"values":[[1548670504.832,"0.0507097837748006"]]}]}}

调整格式后:
在这里插入图片描述

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

//取出data层的数据
String jsonData = JSON.parseObject(result).getString("data");
//取出result层的数据
String jsonResult = JSON.parseObject(jsonData).getString("result");
JSONArray resultArray = JSONArray.parseArray(jsonResult);
JSONObject jo = resultArray.getJSONObject(0);
String jsonValues = jo.getString("values"); 
//将得到的values转换成数组
JSONArray valuesArray = JSONArray.parseArray(jsonValues);

1、遇到[]形式的数据格外注意,表示数组,处理方式为JSONArray.parseArray。根据集合得到第一个元素:由resultArray.getJSONObject(0);返回JSONObject
2、遇到{}形式的数据表示Map。在根据键getString前需要将格式转换为JSONObject

猜你喜欢

转载自blog.csdn.net/weixin_38645718/article/details/86684957