如何将转换为json的数据进行排序并去重呢

[{
        "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,可以调用一下。