【问题解决】如何将json字符串转为List
关于json字符串的处理
注:这是我通过接口远程调度得到的json字符串。
{"code":0,"message":"ok","data":[{"stationId":54416,"localDate":"2021-04-11T16:00:00.000+00:00","temAvgDay":3.1125,"temMaxDay":7.4,"temMinDay":0,"winMax":1.8,"totalPrecip":0},{"stationId":54416,"localDate":"2021-04-12T16:00:00.000+00:00","temAvgDay":12.04,"temMaxDay":16.4,"temMinDay":5.6,"winMax":4.7,"totalPrecip":0}]
}
在远程调度接口的时候,接口返回我们这一个json字符串。这时候我们需要提取出这个json字符串中的data数据,在事前我们已经写了一个这样的类对象,用于存储这里面的相关系,但是这之间应该如何操作呢?
首先,这返回的是一个json字符串,我是无法对其进行操作的。所以第一步我们应该将这个json字符串转为json对象。
//getDataInfo() 这个是我远程调度接口的方法,这里不做详细展示
JSONObject jsonObject = (JSONObject) getDataInfo(match.getStationId()).getData();
在转成json对象过后我们就可以去取里面的值了,完成数据的定向获取。这里用一个JSONArray数组来接收。
JSONArray data = jsonObject.getJSONArray("data");
虽然拿到了这个数据,但是我们无法获取这一条一条数据中的具体属性,因为java虽然知道这是一个数组,但是也仅仅是一个数组,不知道他里面到底有什么。于是我们希望将这个JSONArray转为我们实现写好的DataInfo类的List,这样我们就可以去获取其中的属性了。
//JSONArray 转 List
List<Station> list = JSONArray.parseArray(data.toJSONString(),DataInfo.class);
如此一来,我们就将这json字符串转为了我们写好的可操作的类对象List了。
但是我们虽然把这个数据进行处理了,但是我们想让他按照时间顺序排个序,不然这个无序的排列着实的让人不爽(强迫症患者= =)。
调用Collections.sort(List list, Comparator<? super T> c)方法
//重写 sort比较方法
Collections.sort(list, new Comparator<DataInfo>() {@Overridepublic int compare(DataInfo o1, DataInfo o2) {return o2.getLocalDate().compareTo(o1.getLocalDate());}
});
完整代码
JSONObject jsonObject = (JSONObject) getDataInfo(match.getStationId()).getData();JSONArray data = jsonObject.getJSONArray("data");//JSONArray 转 ListList<Station> list = JSONArray.parseArray(data.toJSONString(),Station.class);//根据传入的时间进行降序排布Collections.sort(list, new Comparator<DataInfo>() {@Overridepublic int compare(DataInfo o1, DataInfo o2) {return o2.getLocalDate().compareTo(o1.getLocalDate());}});
这波操作下来,我们就完成了对json字符串 → json对象 → List → 排序后List。
妈妈再也不用担心我处理数据难受了。
【问题解决】如何将json字符串转为List相关推荐
- jq js json 转字符串_JQuery如何把JSON字符串转为JSON对象
本文介绍JQuery如何把JSON字符串转为JSON对象. HTML代码 下面的HTML代码实现JQuery把JSON字符串转为JSON对象. Name: Age: City: Country: va ...
- JSON字符串转为指定实体类对象
创建JsonStringToClass对象即可 package utils;import net.sf.json.JSONArray; import net.sf.json.JSONObject;im ...
- java php json转字符串_php json字符串转为数组或对象
从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用foreach 遍历即可 $array = get_object_vars($test); $json= '[{&q ...
- php json字符串转为数组或对象
从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用foreach 遍历即可 $array = get_object_vars($test); $json= '[{&q ...
- jsonobject json对象里面_将json字符串转为json对象,从对象中取需要的数据
说明:有时候需要取json字符串中的某个键对应的值,这个时候有两个方案: 1.遍历json字符串,取需要的键对应的值.(太慢太繁琐太傻): 2.将json字符串转为json对象,从对象中取(方便): ...
- 将Json字符串转为对象JSONObject
将Json字符串转为对象JSONObject 有些JSON类型的字符串无法直接转对象,需要先做处理.例如dataWrap.collectData()收集的数据: jsonStr = {"da ...
- $.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。
$.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象. var obj = jQuery.parseJSON(data); if(data.sta ...
- 解决json字符串转为对象时LocalDateTime异常问题
1 出现异常 这次的异常出现在前端向后端发送请求体里带了两个日期,在后端的实体类中,这两个日期的格式都是JDK8中的时间类LocalDateTime.默认情况下,LocalDateTime只能解析20 ...
- SQL将Json字符串转为表格
支持复杂结构的使用.. 使用Parent_ID来对应Object_ID产生关系就好.. 实现对Json数据的从文字到表变量的转换.. 例: [{"FieldName": " ...
最新文章
- 国产最强开源 API 网关,没有之一,不接受任何反驳!
- php加入js动态效果,js怎么给输入框增加动画效果
- 老婆,我会好好爱你的
- java检测ubuntu_在Ubuntu、Debian、CentOS Linux中检查Java版本的方法
- 成功解决softmax_cross_entropy_with_logits (from tensorflow.python.ops.nn_ops) is deprecated and will be
- 常用日志门面和日志实现
- 不同格式的json解析
- kmeans聚类算法matlab代码,K-Means算法实现(Matlab)
- python基础教程百度云-python从入门到精通视频教程百度云资源
- HTML5_2(视频)
- 关于微信拼车小程序开发的需求分析(需求获取)
- scsi设备扫描特征分析
- 量子计算机底层逻辑,高通AI研究院提出通过量子场论,可将深度神经网络映射到量子计算机...
- html doc全称,html标签全称与功能介绍.doc
- 用pygame做一个简单的python小游戏---七彩同心圆
- 拼多多进军教育,学习也能「砍一刀」?
- 25 岁,毕业写前端的这三年
- DTMF 编码及解码
- 混合式步进电机本体建模
- JQ动画和特效轮播图