当前位置: 首页 > 知识库问答 >
问题:

如何按日期输出json?[副本]

刘德义
2023-03-14

我有JSON输出:

[
    {
        "id": 27,
        "typeOfEvent": "nameOfEvent",
        "date": "1.08.2021",
        "price": "1200",
        "countOfTickets": 15
    },
    {
        "id": 24,
        "typeOfEvent": "nameOfEvent",
        "date": "10.07.2021",
        "price": "1200",
        "countOfTickets": 15
    },
    {
        "id": 25,
        "typeOfEvent": "nameOfEvent",
        "date": "12.07.2021",
        "price": "1200",
        "countOfTickets": 15
    },
    {
        "id": 26,
        "typeOfEvent": "nameOfEvent",
        "date": "21.07.2021",
        "price": "1200",
        "countOfTickets": 15
    }
]

我可以将其存储在列表结构中,如下所示:

List<Event> events = eventRepository.findAll()

我也试过了,这个代码不行

List<Event> events = eventRepository.findAll(Sort.by(Sort.Direction.ASC, "date"));
        Collections.sort(events, (Comparator.comparing(Event::getDate)));
        return events;

如何按日期属性对列表中的数据进行排序?对于本例,必须对其进行排序:id为24的第一个对象id为25的第二个对象id为26的第三个对象id为27的第四个对象

共有1个答案

邹星火
2023-03-14

如果您可以使用列表之外的其他数据结构(即您只存储数据而不需要通过索引访问),我建议如下:您可以使用PriorityQueue并为其提供一个自定义lambda方法来进行比较,或者如果您有一个类表示一个json对象(事件?)您可以实现比较器,而不需要lambda,在lambda中,您可以根据日期进行比较。

如果出于某种原因必须使用List,我建议您执行以下操作:当然,一种解决方案是使用Collections.sort(),就像其他注释中提到的那样。如果事件类实现了Comparator接口,则可以通过直接调用Collections.sort(list)来实现。否则,您必须提供一个lambda方法进行比较,如第一节中所述。

请记住,您必须将日期转换为毫秒(长)或日期对象,以确保比较正常工作。它也可以使用普通的字符串,但它将更肯定地工作与实际的数字或类

 类似资料:
  • 这个REST查询提供了created_at日期。我想解析输出以获取所有日期,然后对它们进行排序。我需要分析的问题是 在此查询 有没有一种有效的方法? 我的密码到现在为止

  • 问题内容: 我知道这一定是相对简单的,但是我有一个JSON数据集,我想按日期排序。到目前为止,我无处不在遇到问题。现在,我将日期存储为。如果有帮助,我可以访问jquery,但是我意识到.sort()是本机JS。提前致谢。 问题答案: 假设您有一个javascript对象数组,只需使用自定义排序功能即可: Array 方法使用回调函数对数组进行排序,该回调函数传递给数组中的元素对。 如果返回值为负,

  • 本文向大家介绍shell脚本按当前日期输出日志的实现,包括了shell脚本按当前日期输出日志的实现的使用技巧和注意事项,需要的朋友参考一下 shell脚本基本技能是设置变量,输出信息。如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash test.sh 控制台输出: 输出到控制台,并且写入日志文件:

  • 我需要按照格式解析日期,但它没有很好地工作。 我需要日期对象在07/06/2013格式,即使日期是任何格式。但parse方法总是在2013年6月7日00:00:00 PKT星期五返回。

  • 您可能知道,php date将在以下日期返回有效日期: 我在这里读过其他关于不存在日期的SO线程,但是这个线程并没有解决我的问题。我的目标是防止php自动将这些日期转换为第二天。例如,如果用户输入日期,系统将提示错误。 编辑 有人真的把这个问题作为SO中这个线程的重复发布了...哪一部分说4-31, 6-31, 9-31?请不要简单地将此标记为重复,请将我的问题与标记之前的其他问题进行比较。谢谢你

  • 问题内容: 我正在使用jQuery在Ajax上进行首次尝试。我正在将数据获取到页面上,但是为Date数据类型返回的JSON数据遇到了一些麻烦。基本上,我得到的字符串看起来像这样: 从完全不熟悉JSON的人- 如何将其格式化为短日期格式?是否应该在jQuery代码中的某个地方处理?我尝试使用该插件没有成功。 仅供参考:这是我结合以下答案使用的解决方案: 该解决方案从回调方法中获取了我的对象,并使用日