问题描述
我的响应在数组列表下面给出,现在我想通过 ** job_date** 键创建新的数组列表
"request": [
{
"id": 3,"company_id": 40,"job_id": 23,"job_date": "2021-07-22","first_name": "Larry","last_name": "P"
},{
"id": 8,"company_id": 44,"job_id": 27,{
"id": 16,"company_id": 4,"job_id": 2,"job_date": "2021-07-01","last_name": "P"
}
]
我想要如下输出,数组中的相同日期数据
{
"2021-07-2": [
{
"id": 3,"last_name": "P"
}
],{
"2021-07-1": [
{
"id": 16,"last_name": "P"
}
]
如果有人对 ArrayList 的这种类型的过滤器有任何想法,请评论您的答案。 提前致谢
解决方法
我简化了数据模型,但 groupBy 会起作用。
data class DatedRequest(val id: Int,val jobDate: String)
data class Request(val id: Int)
fun main() {
val list = listOf(
DatedRequest(1,"2021"),DatedRequest(2,DatedRequest(3,"2020")
)
list.groupBy({ it.jobDate },{ Request(it.id) })
.also(::print)
}
打印结果
{2021=[Request(id=1),Request(id=2)],2020=[Request(id=3)]}
,
你可以试试这个代码。 首先,将 JSON 响应转换为 jsonString(我们称之为响应)。
RESOURCE_ID
确保您已验证您的 json