Kursus Pengembangan Python Lanjutan
Bab
>
Tingkat

Modul Serialisasi
Modul JSON

Tujuan

Pergi ke stasiun layanan dan pastikan data disimpan dengan benar menggunakan modul JSON untuk memformat berkas.

Ada sebuah stasiun layanan di selatan gedung annexe di area konstruksi baru, seluruh area ini akan dibangun kembali untuk menanam tanaman. Stasiun itu memiliki berbagai terminal yang memproses data untuk pengembangan baru, kita bisa menulis data secara manual, tetapi itu akan memakan banyak waktu. Untuk menangani data kita dapat menggunakan JSON yang merupakan singkatan dari JavaScript Object Notation, yaitu format data yang independen dari bahasa pemrograman dan menyimpan informasi dalam format yang mudah dibaca untuk penyimpanan dan transmisi data.

Dalam Python kita dapat menggunakan import json untuk mengakses fungsi JSON. Untuk keperluan kita akan menggunakan fungsi-fungsi berikut:

  • json.loads(): Mengonversi string JSON menjadi data Python, memerlukan satu argumen yaitu string yang ingin Anda parsing ke Python.
  • json.dumps(): Mengonversi data Python menjadi objek string JSON, fungsi ini dapat menerima hingga empat (4) argumen, hanya argumen pertama yang wajib. Mereka adalah:
    1. Data Python yang ingin Anda konversi menjadi JSON: dapat berupa tipe data berikut: dictionary, list, tuple, string, integer, float, boolean, atau None.
    2. indent: jumlah spasi yang ingin Anda tambahkan di awal setiap baris data.
    3. separators: bagian-bagian yang ingin Anda tampilkan di antara dan/atau di akhir titik data.
    4. sort_keys: mengurutkan kunci dictionary secara alfabetis jika Anda mengonversi tipe berkas dictionary.

Untuk memulai, pergi ke tanda X emas di pos terdepan sebelah kiri dan hadapkan diri ke meja dengan memo. Gunakan fungsi read() untuk memverifikasi informasi yang dibutuhkan untuk mengonfirmasi status terminal dan catat informasinya. Jalan ke tanda X terang di depan terminal, ada sebuah konstanta bernama transmission, gunakan json.dumps() untuk memformatnya sebagai JSON sehingga kita dapat mengonversinya, seperti ini: transmission = json.dumps(transmission).

Buat sebuah dictionary bernama load dan simpan nilai dari json.loads() dengan konstanta transmission sebagai argumen. Ini akan mengonversi JSON menjadi Python sehingga informasinya dapat diakses dengan mudah. Gunakan fungsi speak() dengan kunci-kunci yang tercantum dalam memo dan dictionary load yang telah Anda buat. Contohnya: player.speak(load["system"]), lakukan ini untuk semua kunci.

Setelah memeriksa informasi di terminal, berjalanlah menuju stasiun, masuk, dan menuju tanda X terang di atas karpet hijau. Periksa memo menggunakan fungsi read(), catat nilainya, di editor sudah ada dictionary profile yang telah ditulis sebelumnya, isi nilai yang kosong dengan informasi dari memo.

Jalan ke tanda X gelap di atas karpet hijau, hadapkan diri ke terminal dan buat variabel bernama transfer lalu simpan nilai dari json.dumps() dengan dictionary profile sebagai satu-satunya argumen. Dengan ini kita mengonversi dictionary menjadi objek string JSON. Gunakan fungsi display() yang sudah ditulis sebelumnya dan tambahkan JSON transfer untuk menyimpan data di terminal.

Jalan ke tanda X gelap di atas karpet merah dan gunakan fungsi read() untuk memverifikasi data yang sudah dimasukkan di terminal. Data tersebut tidak ditampilkan dalam format yang benar, agar data dapat disimpan dengan benar perlu diformat menjadi JSON. Data tersebut disimpan dalam konstanta dictionary bernama red_data, buat variabel bernama red_storage dan simpan nilai dari fungsi json.dumps().

Untuk memformat data, tambahkan argumen berikut ke fungsi: tambahkan red_data untuk mengonversi konstanta menjadi JSON, tambahkan indent dan atur ke 5 untuk memformat teks, tambahkan separators dan isi ("- ", " = ") untuk menambahkan simbol-simbol ini di akhir setiap baris. Barisnya akan terlihat seperti ini: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")). Gunakan display() yang sudah ditulis sebelumnya dan tambahkan string JSON red_storage untuk menyimpan dan menampilkan data yang diformat.

Jalan ke tanda X gelap di atas karpet biru dan hadapkan diri ke terminal serta gunakan fungsi read(), sama seperti sebelumnya data tidak tersimpan dengan benar dan perlu diformat namun juga diurutkan. Data tersebut disimpan dalam konstanta bernama blue_data, buat variabel bernama blue_storage dan simpan nilai dari fungsi json.dumps().

Untuk argumen: tambahkan blue_data untuk mengonversi konstanta menjadi JSON, tambahkan indent dan atur ke 4 untuk memformat teks, tambahkan separators dan isi (".0", " = ") untuk menambahkan simbol ini di akhir setiap baris. Selain itu tambahkan juga argumen sort_keys sebagai argumen terakhir dan atur ke True, seperti ini: sort_keys=True. Gunakan display() yang sudah ditulis sebelumnya dan tambahkan string JSON blue_storage untuk menyimpan dan menampilkan data yang terurut dan selesaikan level ini.

Buku Kode