I have the following array of objects
[{
"school_id": "s1",
"school_name": "school1",
"district_id": "d1",
"students": [{
"student_id": "1",
"student_name": "tony"
}, {
"student_id": "2",
"student_name": "tom"
}]
}, {
"school_id": "s2",
"school_name": "school2",
"district_id": "d2",
"students": [{
"student_id": "1",
"student_name": "march"
}, {
"student_id": "2",
"student_name": "alex"
}]
}, {
"school_id": "s3",
"school_name": "school3",
"district_id": "d3",
"students": [{
"student_id": "1",
"student_name": "bill"
}, {
"student_id": "2",
"student_name": "bob"
}]
}, {
"school_id": "s4",
"school_name": "school4",
"district_id": "d3",
"students": {
"student_id": "1",
"student_name": "tim"
}
}]
I need to generate new repsonse by combining students belonging to the same school in the sae district as shown below
[{
"district_id": "d1",
"schoolList": [{
"school_id": "s1",
"school_name": "school1",
"studentList": [{
"student_id": "1",
"student_name": "tony"
}, {
"student_id": "2",
"student_name": "tom"
}]
}]
}, {
"district_id": "d2",
"schoolList": [{
"school_id": "s2",
"school_name": "school2",
"studentList": [{
"student_id": "1",
"student_name": "march"
}, {
"student_id": "2",
"student_name": "alex"
}]
}]
}, {
"district_id": "d3",
"schoolList": [{
"school_id": "s3",
"school_name": "school3",
"studentList": [{
"student_id": "1",
"student_name": "bill"
}, {
"student_id": "1",
"student_name": "bill"
}]
}, {
"school_id": "s4",
"school_name": "school4",
"studentList": {
"student_id": "1",
"student_name": "tim"
}
}]
}]
How do I achieve it?