I had a problem when I wanted to retrieve data to be displayed on the client, but after I checked again it turned out that the API response was in the form of an object, not an array or list. so how can i access that data based on the 1,2,3... numbers in the data. I have discussed with the back end to convert it into an array but they are hesitant to change it, so like it or not I have to take the initiative myself.
{
"status": "success",
"code": "200",
"data": {
"1": {
"id": "f732bbb0-a34a-474d-8829-23aa66470e22",
"id_dosen": "d6aedfb6-cf88-4e89-8365-0f206822a6c4",
"id_mk": "cb0bced5-a02d-4f46-bd88-6ed61daece10",
"nidn": null,
"dosen": "Yudhy",
"id_kelas_kuliah": "52deb32d-292f-44b9-af69-a90dfc5fbc81",
"kelas_kuliah": "Pendidikan agama islam III - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 2,
"jumlah_kelas": 0,
"matakuliah": "Pendidikan agama islam III ( Islamic Religious Education III ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 2,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:14:14",
"updated_at": "2022-09-09 08:14:14",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"2": {
"id": "3573bcf8-bf00-445b-91bb-8362e98f3e70",
"id_dosen": "d61b7164-cd6c-4bd9-8be8-d2a576790b9c",
"id_mk": "40f02349-887d-47c2-b190-9c5d62adf738",
"nidn": null,
"dosen": "Shadam Hussaeni",
"id_kelas_kuliah": "fb969bb3-e0d9-47ac-9ede-365c78e38994",
"kelas_kuliah": "Bahasa inggris III (Conversation) - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 2,
"jumlah_kelas": 0,
"matakuliah": "Bahasa inggris III (Conversation) ( English III (Conversation) ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 2,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-14 08:05:31",
"updated_at": "2022-09-14 08:05:31",
"created_by": "Risca Nurzantika",
"updated_by": "Risca Nurzantika"
},
"3": {
"id": "a12ad665-fc91-44d7-816d-605f51bdcfd7",
"id_dosen": "e6579b08-7cb0-4ea4-84cb-2f92f8d91d6b",
"id_mk": "45868d7c-6bcd-4420-9fe7-b60f44e805ce",
"nidn": null,
"dosen": "Dr. Partono",
"id_kelas_kuliah": "5fc85fb1-3057-4d68-af29-b22a5e18eaa2",
"kelas_kuliah": "Enterprise resource planning(ERP) - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 3,
"jumlah_kelas": 0,
"matakuliah": "Enterprise resource planning(ERP) ( Enterprise resource planning(ERP) ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 3,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:06:04",
"updated_at": "2022-09-09 08:06:04",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"4": {
"id": "0926b6ac-61fa-4309-bca8-f2deaec22ee6",
"id_dosen": "dbe7f609-109c-4eb8-be0f-6621461346cb",
"id_mk": "6bcfc248-b1ff-45da-867e-c4f8ce108e3f",
"nidn": null,
"dosen": "Nano Suyatna",
"id_kelas_kuliah": "8479b48f-de14-499d-9898-43d12b0b29e9",
"kelas_kuliah": "Kontrol dan audit sistem informasi - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 3,
"jumlah_kelas": 0,
"matakuliah": "Kontrol dan audit sistem informasi ( Information system control and audit ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 3,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:06:24",
"updated_at": "2022-09-09 08:06:24",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"5": {
"id": "6128d722-2589-4010-a3fe-236876594ba0",
"id_dosen": "818e059f-4aeb-4c8a-be54-0aece61fb675",
"id_mk": "1f5cee4f-6543-4067-abf2-88faec0b8163",
"nidn": null,
"dosen": "Nova Indrayana Yusman",
"id_kelas_kuliah": "258c9976-2657-4dae-9239-2b2b2528c4ae",
"kelas_kuliah": "Statistik komputasi - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 2,
"jumlah_kelas": 0,
"matakuliah": "Statistik komputasi ( Computational statistics ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 2,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:06:36",
"updated_at": "2022-09-09 08:06:36",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"6": {
"id": "f928be12-c79d-4519-a10d-a2870e379a57",
"id_dosen": "7329769a-0310-453b-8e4e-5befedd774af",
"id_mk": "b03740f2-a141-44c3-891d-a46750b94d01",
"nidn": null,
"dosen": "Topan Trianto",
"id_kelas_kuliah": "20279853-74b7-4e0a-8f13-8c1a3b8675fe",
"kelas_kuliah": "Pemrograman Mobile 2 - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 2,
"jumlah_kelas": 0,
"matakuliah": "Pemrograman Mobile 2 ( Mobile programming 2 ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 2,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:06:51",
"updated_at": "2022-09-09 08:06:51",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"7": {
"id": "b332e62b-20b7-4041-87cf-b1b2aa9402b5",
"id_dosen": "57510709-b25b-4b44-abcd-d4c238585daa",
"id_mk": "66cb1b6d-7c92-4303-a40e-6fc33c650633",
"nidn": null,
"dosen": "Yudi Sarip Aripin",
"id_kelas_kuliah": "31e6dbc5-9096-4210-b6c0-969cd6c1616f",
"kelas_kuliah": "Rekayasa sistem informasi - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 3,
"jumlah_kelas": 0,
"matakuliah": "Rekayasa sistem informasi ( Information systems engineering ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 3,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:12:55",
"updated_at": "2022-09-09 08:12:55",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"8": {
"id": "8fea865a-ffd8-4fbb-bce4-58a6c4c28032",
"id_dosen": "986fab04-4da2-4fdd-8a5c-54f704ff990c",
"id_mk": "3cdc9ff5-8ca3-4bd9-88f6-84c2f1b3d608",
"nidn": null,
"dosen": "Usup Supendi",
"id_kelas_kuliah": "f26dd9ae-0aa6-42bf-9441-ba5a9afdd024",
"kelas_kuliah": "Testing & implementasi sistem informasi - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 3,
"jumlah_kelas": 0,
"matakuliah": "Testing & implementasi sistem informasi ( Information system testing & implementation ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 3,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:12:26",
"updated_at": "2022-09-09 08:12:26",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
},
"9": {
"id": "632152dc-2e65-4b22-8f4d-57448672d4ba",
"id_dosen": "58b5e16c-1c78-4a15-8366-23163d9b0c71",
"id_mk": "94a5f157-7c2d-4c58-9f84-8b391fb3e3c6",
"nidn": null,
"dosen": "M. Furqon",
"id_kelas_kuliah": "9c924a24-e73f-4768-9035-0faa625f224c",
"kelas_kuliah": "KPAM V (Korespondesi) - Sistem Informasi - A",
"prodi": "Sistem Informasi",
"kelas": "KARYAWAN",
"semester": "5",
"kelompok_kelas": "A",
"kode": null,
"sks": 1,
"jumlah_kelas": 0,
"matakuliah": "KPAM V (Korespondesi) ( KPAM V (Correspondence) ) - A",
"smt": "2022-2023 GANJIL",
"bobot_sks": 1,
"rencana_pertemuan": 14,
"jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
"created_at": "2022-09-09 08:07:37",
"updated_at": "2022-09-09 08:07:37",
"created_by": "Fahmi Nugraha",
"updated_by": "Fahmi Nugraha"
}
}
}
CodePudding user response:
in your case we need to add the data
's nested Map
inside a List, so we get the List<Map>
:
Map<String, Map> dataAsMapsInsideMap = respnseResultData;
List<Map> dataAsMapsInsideList = [];
dataAsMapsInsideMap.forEach((key, value) {
dataAsMapsInsideList.add(value);
});
print(dataAsMapsInsideList); // will print the List containing the maps
print(dataAsMapsInsideList.length); // 9
then you can use dataAsMapsInsideList
in your project.
CodePudding user response:
You can iterate through map and add values to a new list.
var response = jsonDecode(apiResponse);
List<YourDartObject> list = [];
Map<String, dynamic> paketMap = response['data'];
for (var e in paketMap.values) {
list.add(Paket.fromJson(e));
}
CodePudding user response:
If your Datum
is a list of GetPaket
objects you should creare list by iterating through json response.
Future<Datum> getPaketKuliah() async {
String url = Constant.baseURL;
String token = await UtilSharedPreferences.getToken();
final response = await http.get(
Uri.parse(
'$url/auth/mhs_siakad/perwalian/get_paket',
),
headers: {
'Authorization': 'Bearer $token',
},
);
print(response.statusCode);
print(response.body);
if (response.statusCode == 200) {
// return paket.data.entries.first.value;
List<GetPaket> list = [];
Map<String, dynamic> paketMap = response['data'];
for (var e in paketMap.values) {
list.add(GetPaket.fromJson(e));
}
return list;
} else {
throw Exception();
}
}