在 Kotlin 的 JSON 数组中使用日期值对日期进行排序的有效方法

Efficient way to sort dates with their values in a JSON Array in Kotlin

在使用 Kotlin 的 Android 应用程序开发中,这将是对 JSON 数组进行排序的有效方法,该数组获得具有 属性 值的对象的日期。

我想按日期对我的回复进行排序并选择最新创建的项目。例如,我的列表响应是

[
    {
        name : "Joseph"
        enrolled_at : "2019-12-17 14:16:51"
    },
    {
        name : "Infant"
        enrolled_at : "2019-12-20 10:06:22"
    },
    {
        name : "Raj"
        enrolled_at : "2020-02-10 07:19:16"
    }
]

我想用“enrolled_at”属性 日期对它进行排序,以获得最近注册的项目。原来的反应很大,所以我在这里无法得到真正的反应。

使用 Kotlin 对日期进行排序的有效方法是什么。尝试使用 sortedWith 和 Kotlin 中的其他集合。寻找建议。

首先,您需要创建将该字符串转换为日期的方法,以便您的数组可以排序。

假设您要将 JSON 转换为以下类型的用户列表:

data class User(val name: String, val enrolled_at: String)

使用 Kotlin 中创建扩展的功能,您可以创建以下字符串方法扩展:

fun String.toDate(): Date{
   return SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).parse(this)
}

然后您可以按日期升序对用户列表进行排序:

users.sortedBy { it.enrolled_at.toDate() }