skip to Main Content

I have a problem here, so I am given a json in the form of an object and inside that object I have to display the data in a list, my question is a bit difficult here because the data is in the form of an object, but if the data is in the form of an array/list I can display it in a listview but here the json data is in the form of an object.
Has anyone here ever had a similar case? and have examples for me to study
thank you, have a good day

{
    "status": "success",
    "code": "200",
    "data": {
        "1": {
            "id": "a1928aaf-e8d2-407c-b10d-7d368c71905f",
            "id_dosen": "5eb3804c-ff71-449c-bbdf-8d89005734f3",
            "id_mk": "a17ea90a-4e92-4bb2-bfe4-3efcfe90d190",
            "nidn": null,
            "dosen": "Yanyan Suryana ",
            "id_kelas_kuliah": "9b29eaea-0dbe-4eb7-885d-4b1016e2026d",
            "kelas_kuliah": "KPAM I (Chr. Build) - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 1,
            "jumlah_kelas": 0,
            "matakuliah": "KPAM I (Chr. Build) ( KPAM I (Chr. Build) ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 1,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 07:11:12",
            "updated_at": "2022-09-06 07:11:12",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "2": {
            "id": "708c82bc-1fe5-4529-8c3d-2522c48fee23",
            "id_dosen": "64592de2-743e-4d38-9d74-6f83776b2382",
            "id_mk": "61289350-447b-40cc-86c6-27d806b932a7",
            "nidn": null,
            "dosen": "Putri Zafira Ruhliandini",
            "id_kelas_kuliah": "52aa6c84-5d07-4deb-8122-60d3465bf10c",
            "kelas_kuliah": "Lembaga Keuangan Bank & Non Bank - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Lembaga Keuangan Bank & Non Bank ( Bank & Non-Bank Financial Institutions ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "EVALUASI AKADEMIK",
            "created_at": "2022-09-06 07:16:52",
            "updated_at": "2022-09-06 07:16:52",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "3": {
            "id": "6c2cdc1f-f87f-4ca2-9e6c-d56c01172fe1",
            "id_dosen": "d6aedfb6-cf88-4e89-8365-0f206822a6c4",
            "id_mk": "0deb6dda-dfe8-4a3e-a1b6-39bbb82874ad",
            "nidn": null,
            "dosen": "Yudhy",
            "id_kelas_kuliah": "a0f8d5ab-13e7-402c-a104-fde9746b8929",
            "kelas_kuliah": "Sejarah Ekonomi & Perbankan Islam - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 3,
            "jumlah_kelas": 0,
            "matakuliah": "Sejarah Ekonomi & Perbankan Islam ( History of Islamic Economics & Banking ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 3,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "EVALUASI AKADEMIK",
            "created_at": "2022-09-06 07:23:42",
            "updated_at": "2022-09-06 07:23:42",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "4": {
            "id": "910a51a7-926a-40df-ae6c-84508487170c",
            "id_dosen": "40b65274-81ab-4144-ae18-795da53554df",
            "id_mk": "0965b6b8-abc8-4188-a785-f6e56e7437ca",
            "nidn": null,
            "dosen": "Yasir M. Fauzi",
            "id_kelas_kuliah": "e9cac682-ac66-43d4-a664-c82b45f5a97a",
            "kelas_kuliah": "Hadits Ekonomi - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Hadits Ekonomi ( Economic Hadith ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "EVALUASI AKADEMIK",
            "created_at": "2022-09-06 07:39:48",
            "updated_at": "2022-09-06 07:39:48",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "5": {
            "id": "e5ddedfc-3f26-4b9e-a5b6-a880a2255139",
            "id_dosen": "42603f53-01b5-4469-ac40-771f23184a01",
            "id_mk": "96712436-0f5e-4f94-8deb-a933b8cf1916",
            "nidn": null,
            "dosen": "Ade Iskandar Nasution",
            "id_kelas_kuliah": "25ea99bd-a7ac-4db6-ad4c-2e247dbe4ae1",
            "kelas_kuliah": "Bahasa Inggris 1 (For Banking) - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Bahasa Inggris 1 (For Banking) ( English 1 (For Banking) ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 07:42:35",
            "updated_at": "2022-09-06 07:42:35",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "6": {
            "id": "2492b7a4-962e-4167-9d63-d72d1d2d47a3",
            "id_dosen": "feeaecb5-d7ff-45c1-b741-234cf9d99c83",
            "id_mk": "f7f7851d-bce6-49c6-8228-3fe54c6911f3",
            "nidn": null,
            "dosen": "Faisal Rakhman",
            "id_kelas_kuliah": "1fe74679-b9cd-4ab2-a753-1c98212ec7c0",
            "kelas_kuliah": "Dasar Akuntansi 1 - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 3,
            "jumlah_kelas": 0,
            "matakuliah": "Dasar Akuntansi 1 ( Basic Accounting 1 ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 3,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 07:45:48",
            "updated_at": "2022-09-06 07:45:48",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "7": {
            "id": "1bb2ff62-df42-4995-92c1-667e0c0d29c9",
            "id_dosen": "0e694ee7-04d0-4a3b-abe0-a21d36d62e7c",
            "id_mk": "85a4c5b9-085b-44c9-ae42-abd185e11f01",
            "nidn": null,
            "dosen": "Kanda M Ishak",
            "id_kelas_kuliah": "ca6c78a4-61eb-4f6e-acb7-482fd2200c12",
            "kelas_kuliah": "Aplikasi Komputer I (Ms. Word & Excel) - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Aplikasi Komputer I (Ms. Word & Excel) ( Computer Application I (Ms. Word & Excel) ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 07:48:56",
            "updated_at": "2022-09-06 07:48:56",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "8": {
            "id": "64ffa430-5301-4fa0-9449-c3e2f85a71e7",
            "id_dosen": "c4b5bb76-8eea-4f8a-802e-bc500753a912",
            "id_mk": "b153397d-eb8e-4b1f-9730-4249ef19f8cd",
            "nidn": null,
            "dosen": "Mimin Mintarsih",
            "id_kelas_kuliah": "9066d7fd-432d-4ada-a6f0-3e1c677536ed",
            "kelas_kuliah": "Ulumul Qur'an dan Hadits - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Ulumul Qur'an dan Hadits ( Ulumul Qur'an and Hadith ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 07:51:55",
            "updated_at": "2022-09-06 07:51:55",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "9": {
            "id": "f554093f-f86b-4489-8f17-3785c1a5c60a",
            "id_dosen": "40b65274-81ab-4144-ae18-795da53554df",
            "id_mk": "2a90cc9b-e8a6-4b7d-b293-794ce71f8855",
            "nidn": null,
            "dosen": "Yasir M. Fauzi",
            "id_kelas_kuliah": "be9a777d-af6b-4b90-983d-cd858382862c",
            "kelas_kuliah": "Studi Islam I (Fiqih Ibadah) - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Studi Islam I (Fiqih Ibadah) ( Islamic Studies I (Fiqh Worship) ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 07:59:35",
            "updated_at": "2022-09-06 07:59:35",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        },
        "10": {
            "id": "8f804988-9d50-4499-b01b-6de90fcd95f4",
            "id_dosen": "43cda764-1dbb-47cc-adac-fe3663c987fe",
            "id_mk": "2286f1cd-242f-4e27-9428-63d1d993a479",
            "nidn": null,
            "dosen": "Bahmid I. Magi",
            "id_kelas_kuliah": "70903e13-f12c-41fc-b74e-5125c120afd4",
            "kelas_kuliah": "Pendidikan Kewarganegaraan - Perbankan Syariah - A",
            "prodi": "Perbankan Syariah",
            "kelas": "REGULER",
            "semester": "1",
            "kelompok_kelas": "A",
            "kode": null,
            "sks": 2,
            "jumlah_kelas": 0,
            "matakuliah": "Pendidikan Kewarganegaraan ( Civic education ) - A",
            "smt": "2022-2023 GANJIL",
            "bobot_sks": 2,
            "rencana_pertemuan": 16,
            "jenis_evaluasi": "KOGNITIF/PENGETAHUAN",
            "created_at": "2022-09-06 08:14:18",
            "updated_at": "2022-09-06 08:14:18",
            "created_by": "Dasep",
            "updated_by": "Dasep"
        }
    }
}

example of the requested result into a list/card
enter image description here

2

Answers


  1. Convert your json using Quicktype.io like this

    // To parse this JSON data, do
    //
    //     final test = testFromMap(jsonString);
    
    import 'dart:convert';
    
    Test testFromMap(String str) => Test.fromMap(json.decode(str));
    
    String testToMap(Test data) => json.encode(data.toMap());
    
    class Test {
        Test({
            this.status,
            this.code,
            this.data,
        });
    
        String status;
        String code;
        Data data;
    
        factory Test.fromMap(Map<String, dynamic> json) => Test(
            status: json["status"],
            code: json["code"],
            data: Data.fromMap(json["data"]),
        );
    
        Map<String, dynamic> toMap() => {
            "status": status,
            "code": code,
            "data": data.toMap(),
        };
    }
    
    class Data {
        Data({
            this.the1,
        });
    
        The1 the1;
    
        factory Data.fromMap(Map<String, dynamic> json) => Data(
            the1: The1.fromMap(json["1"]),
        );
    
        Map<String, dynamic> toMap() => {
            "1": the1.toMap(),
        };
    }
    
    class The1 {
        The1({
            this.id,
            this.idDosen,
            this.idMk,
            this.nidn,
            this.dosen,
            this.idKelasKuliah,
            this.kelasKuliah,
            this.prodi,
            this.kelas,
            this.semester,
            this.kelompokKelas,
            this.kode,
            this.sks,
            this.jumlahKelas,
            this.matakuliah,
            this.smt,
            this.bobotSks,
            this.rencanaPertemuan,
            this.jenisEvaluasi,
            this.createdAt,
            this.updatedAt,
            this.createdBy,
            this.updatedBy,
        });
    
        String id;
        String idDosen;
        String idMk;
        dynamic nidn;
        String dosen;
        String idKelasKuliah;
        String kelasKuliah;
        String prodi;
        String kelas;
        String semester;
        String kelompokKelas;
        dynamic kode;
        int sks;
        int jumlahKelas;
        String matakuliah;
        String smt;
        int bobotSks;
        int rencanaPertemuan;
        String jenisEvaluasi;
        DateTime createdAt;
        DateTime updatedAt;
        String createdBy;
        String updatedBy;
    
        factory The1.fromMap(Map<String, dynamic> json) => The1(
            id: json["id"],
            idDosen: json["id_dosen"],
            idMk: json["id_mk"],
            nidn: json["nidn"],
            dosen: json["dosen"],
            idKelasKuliah: json["id_kelas_kuliah"],
            kelasKuliah: json["kelas_kuliah"],
            prodi: json["prodi"],
            kelas: json["kelas"],
            semester: json["semester"],
            kelompokKelas: json["kelompok_kelas"],
            kode: json["kode"],
            sks: json["sks"],
            jumlahKelas: json["jumlah_kelas"],
            matakuliah: json["matakuliah"],
            smt: json["smt"],
            bobotSks: json["bobot_sks"],
            rencanaPertemuan: json["rencana_pertemuan"],
            jenisEvaluasi: json["jenis_evaluasi"],
            createdAt: DateTime.parse(json["created_at"]),
            updatedAt: DateTime.parse(json["updated_at"]),
            createdBy: json["created_by"],
            updatedBy: json["updated_by"],
        );
    
        Map<String, dynamic> toMap() => {
            "id": id,
            "id_dosen": idDosen,
            "id_mk": idMk,
            "nidn": nidn,
            "dosen": dosen,
            "id_kelas_kuliah": idKelasKuliah,
            "kelas_kuliah": kelasKuliah,
            "prodi": prodi,
            "kelas": kelas,
            "semester": semester,
            "kelompok_kelas": kelompokKelas,
            "kode": kode,
            "sks": sks,
            "jumlah_kelas": jumlahKelas,
            "matakuliah": matakuliah,
            "smt": smt,
            "bobot_sks": bobotSks,
            "rencana_pertemuan": rencanaPertemuan,
            "jenis_evaluasi": jenisEvaluasi,
            "created_at": createdAt.toIso8601String(),
            "updated_at": updatedAt.toIso8601String(),
            "created_by": createdBy,
            "updated_by": updatedBy,
        };
    }
    

    after that when you call your API you need to parse your json response to this object

    I assume you are using a future builder then use like this

    Container(
            child: FutureBuilder(
                future: getJsonData(),/your API call
                builder: (context, AsyncSnapshot<dynamic> snapshot) {
                  if (snapshot.hasData) {
                    return Text(snapshot.data[0].time);
                  } else {
                    return CircularProgressIndicator();
                  }
                }),
          ),
    
    Login or Signup to reply.
  2. One alternative methond is to use jsonPath

    import 'dart:convert';
    
    import 'package:json_path/json_path.dart';
    
    void main() {
      final json = jsonDecode('''
    {
      "store": {
        "book": [
          {
            "category": "reference",
            "author": "Nigel Rees",
            "title": "Sayings of the Century",
            "price": 8.95
          },
          {
            "category": "fiction",
            "author": "Evelyn Waugh",
            "title": "Sword of Honour",
            "price": 12.99
          },
          {
            "category": "fiction",
            "author": "Herman Melville",
            "title": "Moby Dick",
            "isbn": "0-553-21311-3",
            "price": 8.99
          },
          {
            "category": "fiction",
            "author": "J. R. R. Tolkien",
            "title": "The Lord of the Rings",
            "isbn": "0-395-19395-8",
            "price": 22.99
          }
        ],
        "bicycle": {
          "color": "red",
          "price": 19.95
        }
      }
    }  
      ''');
    
      final prices = JsonPath(r'$..price');
    
      print('All prices in the store:');
    
      /// The following code will print:
      ///
      /// $['store']['book'][0]['price']:   8.95
      /// $['store']['book'][1]['price']:   12.99
      /// $['store']['book'][2]['price']:   8.99
      /// $['store']['book'][3]['price']:   22.99
      /// $['store']['bicycle']['price']:   19.95
      prices
          .read(json)
          .map((match) => '${match.path}:t${match.value}')
          .forEach(print);
    }```
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search