[{
"time": "2021-03-05T06:33:58.207Z",
"ln": "celGGIO1.AnIn70.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.21Z",
"ln": "celGGIO1.AnIn70.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.214Z",
"ln": "celGGIO1.AnIn70.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.22Z",
"ln": "celGGIO1.AnIn70.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.231Z",
"ln": "celGGIO1.AnIn71.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.235Z",
"ln": "celGGIO1.AnIn71.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.239Z",
"ln": "celGGIO1.AnIn71.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.245Z",
"ln": "celGGIO1.AnIn71.mag.f",
"stVal": "null",
"value": "20.3"
}, {
"time": "2021-03-05T06:33:58.254Z",
"ln": "celGGIO1.AnIn72.mag.f",
"stVal": "null",
"value": "20.2"
}, {
"time": "2021-03-05T06:33:58.258Z",
"ln": "celGGIO1.AnIn72.mag.f",
"stVal": "null",
"value": "20.2"
}, {
"time": "2021-03-05T06:33:58.262Z",
"ln": "celGGIO1.AnIn72.mag.f",
"stVal": "null",
"value": "20.2"
}, {
"time": "2021-03-05T06:33:58.268Z",
"ln": "celGGIO1.AnIn72.mag.f",
"stVal": "null",
"value": "20.2"
}, {
"time": "2021-03-05T06:33:58.28Z",
"ln": "celGGIO1.AnIn73.mag.f",
"stVal": "null",
"value": "487.923"
}, {
"time": "2021-03-05T06:33:58.284Z",
"ln": "celGGIO1.AnIn73.mag.f",
"stVal": "null",
"value": "487.923"
}, {
"time": "2021-03-05T06:33:58.288Z",
"ln": "celGGIO1.AnIn73.mag.f",
"stVal": "null",
"value": "487.923"
}, {
"time": "2021-03-05T06:33:58.294Z",
"ln": "celGGIO1.AnIn73.mag.f",
"stVal": "null",
"value": "487.923"
}, {
"time": "2021-03-05T06:33:58.305Z",
"ln": "celGGIO1.AnIn74.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.308Z",
"ln": "celGGIO1.AnIn74.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.313Z",
"ln": "celGGIO1.AnIn74.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.319Z",
"ln": "celGGIO1.AnIn74.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.33Z",
"ln": "celGGIO1.AnIn75.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.334Z",
"ln": "celGGIO1.AnIn75.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.339Z",
"ln": "celGGIO1.AnIn75.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.345Z",
"ln": "celGGIO1.AnIn75.mag.f",
"stVal": "null",
"value": "491.546"
}, {
"time": "2021-03-05T06:33:58.356Z",
"ln": "celGGIO1.AnIn76.mag.f",
"stVal": "null",
"value": "484.3"
}, {
"time": "2021-03-05T06:33:58.359Z",
"ln": "celGGIO1.AnIn76.mag.f",
"stVal": "null",
"value": "484.3"
}, {
"time": "2021-03-05T06:33:58.362Z",
"ln": "celGGIO1.AnIn76.mag.f",
"stVal": "null",
"value": "484.3"
}, {
"time": "2021-03-05T06:33:58.368Z",
"ln": "celGGIO1.AnIn76.mag.f",
"stVal": "null",
"value": "484.3"
}, {
"time": "2021-03-05T06:33:58.378Z",
"ln": "celGGIO1.AnIn77.mag.f",
"stVal": "null",
"value": "490.338"
}, {
"time": "2021-03-05T06:33:58.381Z",
"ln": "celGGIO1.AnIn77.mag.f",
"stVal": "null",
"value": "490.338"
}, {
"time": "2021-03-05T06:33:58.384Z",
"ln": "celGGIO1.AnIn77.mag.f",
"stVal": "null",
"value": "490.338"
}, {
"time": "2021-03-05T06:33:58.39Z",
"ln": "celGGIO1.AnIn77.mag.f",
"stVal": "null",
"value": "490.338"
}, {
"time": "2021-03-05T06:33:58.4Z",
"ln": "celGGIO1.AnIn78.mag.f",
"stVal": "null",
"value": "489.13"
}, {
"time": "2021-03-05T06:33:58.403Z",
"ln": "celGGIO1.AnIn78.mag.f",
"stVal": "null",
"value": "489.13"
}, {
"time": "2021-03-05T06:33:58.407Z",
"ln": "celGGIO1.AnIn78.mag.f",
"stVal": "null",
"value": "489.13"
}, {
"time": "2021-03-05T06:33:58.413Z",
"ln": "celGGIO1.AnIn78.mag.f",
"stVal": "null",
"value": "489.13"
}, {
"time": "2021-03-05T06:33:58.425Z",
"ln": "celGGIO1.AnIn79.mag.f",
"stVal": "null",
"value": "485.507"
}, {
"time": "2021-03-05T06:33:58.43Z",
"ln": "celGGIO1.AnIn79.mag.f",
"stVal": "null",
"value": "485.507"
}, {
"time": "2021-03-05T06:33:58.435Z",
"ln": "celGGIO1.AnIn79.mag.f",
"stVal": "null",
"value": "485.507"
}, {
"time": "2021-03-05T06:33:58.441Z",
"ln": "celGGIO1.AnIn79.mag.f",
"stVal": "null",
"value": "485.507"
}, {
"time": "2021-03-05T06:33:58.451Z",
"ln": "celGGIO1.AnIn80.mag.f",
"stVal": "null",
"value": "481.884"
}, {
"time": "2021-03-05T06:33:58.455Z",
"ln": "celGGIO1.AnIn80.mag.f",
"stVal": "null",
"value": "481.884"
}, {
"time": "2021-03-05T06:33:58.46Z",
"ln": "celGGIO1.AnIn80.mag.f",
"stVal": "null",
"value": "481.884"
}, {
"time": "2021-03-05T06:33:58.467Z",
"ln": "celGGIO1.AnIn80.mag.f",
"stVal": "null",
"value": "481.884"
}]
1.com.alibaba.fastjson
JSONArray jsonArray = JSON.parseArray(text);
2. jdk 1.8
jsonArray = IntStream.rangeClosed(0, jsonArray.size() - 1).mapToObj(jsonArray::getJSONObject).sorted(Comparator.comparing((JSONObject jsonObject) -> jsonObject.getString("time")).thenComparing(jsonObject -> jsonObject.getString("value"))).distinct().collect(Collectors.toCollection(JSONArray::new));
先按照time再按照value排序;
3.输出查看结果
jsonArray.forEach(System.out::println);
有数据库存储得情况:先存储再通过数据库语句查询排序,最后输出!
无数据库存储得情况:存储到一个map中用排序字段做key,使用冒泡排序后,将其重更新为json
1、创建一个接收实体类
2、json转实体类集合接收数据
3、创建Map集合
4、循环遍历取出排序字段为map的key值
5、创建排序集合,存入对key值的排序结果
6、创建结果集合,遍历排序集合,从Map集合中取出数据存入结果集合
7、返回结果集合
你用的什么语言呢?
将json中的每个数据封装成一个对象,重新equal方法规定什么样的数据是同一个数据,然后将json数据转换成对象集合并去重,最后定义一个比较的规则进行排序
问题不复杂,我再提两个小问题:
1、判断重复的标准是什么?某个字段相同还是全部字段值相同?
2、排序标准是什么?时间还是in字段?
如果能够解决上面两个问题,就比较简单了。上面楼主已经差不多都说出来了。
两种思路吧:
1、如果全字段相同才是相同,那么需要自己来把json对象转成List<Entity>,自己重写Entity对象的equals方法,顺便把排序方法也写了吧
2、如果某一字段内容相同即认为该对象相同,那么使用map吧,jdk1.8以后,至于排序,list有api,可以调用一下。