;

Cara Untuk Melakukan Parsing Data JSON di Flutter

Cara Untuk Melakukan Parsing Data JSON di Flutter


Ada 2 cara untuk melakukan parsing data JSON di Flutter, yaitu menggunakan
- Manual serialization (Serialisasi manual)
- Automated serialization using code generation (Serialisasi otomatis menggunakan pembangkit kode)


Untuk memilih metode mana yang akan Anda gunakan, maka sesuaikanlah dengan projek Anda.
Untuk projek yang sederhana, cukup dengan menggunakan Manual serialization. Sedangkan untuk projek berskala besar penggunaan Automated Serialization akan lebih baik.

Pada artikel ini kita akan belajar menggunakan Manual Serialization pada Flutter.
Untuk melakukan parsing data JSON pada flutter, Anda harus mengetahui dengan baik struktur data yang akan Anda panggil,

Misal apakah data tersebut berbentuk Map, List, String maupun integer. Karena itu akan menyebabkan banyak kesulitan jika Anda tidak paham struktur data yang Anda coba ambil dari API tertentu

Untuk melakukan Manual Serialization kita membutuhkan library dart:convert yang merupakan library bawaan dari flutter.
Contoh
misalnya file : profil.json


Sebagaimana telah dijelaskan diatas, untuk melakukan parsing terhadap data, pertama, anda harus mengidentifikasi data yg anda peroleh.

Contoh data diatas adalah data Map karena ditutupi dengan tanda kurung kurawal {} serta memiliki key dan value. Jika diawali dengan dengan tanda kurung kotak [], berarti data tersebut berupa List

Sekarang buatlah sebuah class seperti berikut ini
file profil.dart


Perlu diperhatikan bahwa jumlah properti Class disesuaikan dengan jumlah data yang diterima dari API, atau setiap value yang ingin diambil dari data JSON yang kita miliki harus dibuatkan propertiesnya pada Class.

Setelah itu buatlah fungsi factory untuk menyimpan data dari API kepada properties Class yang telah dideklarasikan diatas


Kode lengkap dari file profil.dart akan menjadi seperti ini



Sekarang kita sudah bisa membuat fungsi factory Profil.fromJson() yang memiliki parameter dengan tipe Map. Alasan kita menggunakan type data Map adalah karena data JSON yang kita terima memang merupakan data Map. Dan mengapa kita menggunakan type String dan dynamic pada data Map tersebut ?.

Alasannya, key sebuah Map umumnya memang berupa String (pada contoh diatas yaitu "id", "nama" dst) sedangkan valuenya tidak pasti jenis datanya, bisa saja String, integer, boolean, List dll, oleh karena itulah digunakan tipe data dynamic "Map<String,dynamic>".
Silahkan baca lebih lanjut tentang tipe data Map disini...

Cara mengakses datanya
Perhatikan Code berikut
User.dart



Demikianlah cara memparsing data JSON pada Flutter, pada artikel ini hanya dibahas bagaimana cara memparsing data dengan struktur sederhana. Lalu bagaimana memparsing data JSON yang memiliki List atau berupa Nested structures atau pada javascript biasa disebut Nested Object,

Atau bagaimana cara mengatasi error seperti :
type 'List<dynamic>' is not a subtype of type 'List<String>' atau
type 'String' is not a subtype of type 'List<dynamic>' atau
type 'String' is not a subtype of type 'Map<String, dynamic>'
dan sebagainya ?,

Kita akan bahas semua itu pada tutorial parsing JSON dengan Flutter part 2.
Sekian dan terima kasih.

Comments