Pada tutorial ini, kita akan belajar cara mengolah data JSON di Python dengan libraray 2 dan juga nantinya kita akan mencoba mengambil data JSON dari Server API. Show Baiklah.. Mari kita mulai! Cara Parsing JSON di PythonParsing artinya mengurai.. Apa yang diurai? Ya data JSON-nya. Mengapa? Karena data tersebut belum bisa dibaca secara langsung di Python. Harus dilakukan parsing terlebih dahulu agar bisa kita pakai di dalam Python. Gimana caranya? Caranya: Kita bisa pakai modul 2 yang sudah disediakan oleh Ptyhon.Mari kita coba.. Buatlah file JSON baru dengan nama 4—bisa dibuat dengan notepad dan teks editor lainnya—lalu isi file JSON-nya seperti ini:
Pastikan format data JSON yang kamu tulis sudah benar. Lakukan validasi dengan JSONLint. Tujuannya, agar nanti bisa dibaca di dalam program. Kalau format JSON-nya tidak valid, bisa jadi ia tidak akan bisa dibaca. Oke.. Setelah itu, buat file baru dengan nama 5 dan isi dengan kode berikut:
Oh iya, kedua file ini harus di simpan dalam satu folder yang sama. Mengapa? Karena kita melakukan 6, yang artinya file JSON yang akan dibuka adalah file yang masih satu folder dengan file script python tersebut.Setelah itu, coba buka terminal dan jalankan program 5.Maka hasilnya: Gampang kan?
Varibel 9 akan berisi sebuah dictionary dengan key dan value-nya akan mengikuti format dari JSON.Nah, sekarang.. kita modifikasi lagi programnya, ubahlah 0 menjadi seperti ini:
Sehingga kode lengkapnya akan menjadi seperti ini:
Coba eksekusi lagi, dan perhatikanlah hasilnya: Pada contoh ini.. kita menggunakan f-string ( 1) untuk memformat hasil output, lalu mengambil data dari variabel 9.Sampai di sini sudah paham? Bagus.. Sekarang mari kita coba baca JSON dari web service atau API. Baca JSON dari Webservice dengan PythonKarena data JSON berada di server API, maka kita membutuhkan modul tambahan, yakni 3.Modul 3 menyediakan fungsi 5 untuk melakukan HTTP Request ke Server. Ini akan kita manfaatkan untuk mengambil data JSON.Mari kita coba.. API yang akan kita gunakan adalah API dari Github. Alamat URL endpoint-nya:
Ini adalah endpoint untuk mengakses data profil github dengan username 6, kamu juga bisa mengganti dengan username Github-mu sendiri.Berikut ini hasil respon dari endpoint tersebut: Mari kita buat programnya.. Buatlah file baru dengan nama 7 dan isilah dengan kode berikut:
Setelah itu, coba jalankan programnya. Maka hasilnya: Data JSON-nya sudah kita dapatkan.. yay! Berikutnya, kita akan ubah kode programnya agar bisa menampilkan data yang lebih rapi. Ubahlah kode 0 menjadi seperti ini:
..dan coba eksekusi lagi. Maka hasilnya: Gampang kan.. Intinya: Langkah yang harus kamu ingat..
Nah, berikutnya kita akan coba membaca data JSON yang memiliki banyak item. Membaca JSON yang Memiliki Banyak ItemsContoh program yang kita buat tadi, hanya membaca satu item saja yakni profil github dan profil pribadi. Lalu bagaimana caranya membaca data dari JSON yang berisi sekumpulan item? Contohnya seperti daftar atau list artikel. Gampang.. Dala kasus ini, kita harus menggunakan perulangan. Mari kita coba! Kita akan menggunakan data JSON dari API jsonplaceholderdengan endpoint URL:
Contoh hasil respon dari endpoint tersebut: Ada sebanyak 9 item atau artikel dalam data JSON ini.Mari kita buat program untuk membacanya. Buatlah program baru dengan nama 0, kemudian isi dengan kode berikut:
Setalah itu, coba jalankan programnya. Maka hasilnya: Berhasil.. Kode tersebut juga bisa dibuat lebih sederhana menjadi seperti ini:
Latihan: Baca data Covid-19 dengan PythonSebagai latihan tambahan, kita akan coba membaca data statistik Covid-19 di Indonesia. API yang digunakan adalah API dari mathdroid: 0Contoh hasil responnya: Mari kita buat programnya. Buatlah file baru dengan nama 1, kemudian isi dengan kode berikut: 1Kita menggunakan 2, karena semua item di JSON-nya berada pada key 9 .Sekarang kita coba eksekusi, maka hasilnya: Mantap 👍 Apa Selanjutnya?Kini kamu sudah tahu cara membaca dan parsing data JSON di Python. Berikutnya silahkan latihan dengan JSON yang berbeda atau terpakan di dalam program yang sedang kamu buat. |