微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何获得某些特定对象的改造响应并对它们进行排序?

如何解决我如何获得某些特定对象的改造响应并对它们进行排序?

我正在使用 Retrofit 并且我得到了没有任何问题的响应,我正在获取数据并且一切正常,但是我只需要获取带有 projectType == "FOLDER" 的项目,丢弃 projectType == "PROJECT" 的项目.

我该如何处理?我还想根据创建日期对它们进行排序。

interface ApiInterface {


@GET("projects")
fun getData(@Header("secretKey") apiKey : String): Call<ProjectList>}

示例输出

{
"projects": [
    {
        "id": "00001","creation": 1611162020,"projectType": "FOLDER","name": "3 - Aufträge","archived": false
    },{
        "id": "00002","creation": 1611158408,"projectType": "PROJECT","name": "Unter",{
        "creation": 122234,"name": "4 - Aus","id": "00003","archived": false
    }]}

解决方法

您可以使用过滤功能轻松过滤您的项目,如下所示

pList.projects.filter{ it.projectType == "FOLDER" }

此外,如果您想根据属性对项目进行排序,您可以使用 sortedBysortedByDescending,如下所示

val ans = pList.projects
    .filter{ it.projectType == "FOLDER" }
    .sortedBy { it.position.creation }

相反的顺序

val ans = pList.projects
    .filter{ it.projectType == "FOLDER" }
    .sortedByDescending { it.position.creation }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。