
Belajar Flask - Bagian 13
Mengenal Tipe Data JSON
oleh: Suryo Adhy Chandra, ST
Di materi sebelumnya kita sudah beberapa kali menyebut kata JSON, terutama saat membahas API. Sekarang kita akan belajar lebih dalam, khusus tentang apa itu JSON dan bagaimana bentuk data di dalamnya.
1. Apa itu JSON?
JSON singkatan dari JavaScript Object Notation. Walaupun namanya mengandung kata "JavaScript", JSON sebenarnya dipakai oleh hampir semua bahasa pemrograman, termasuk Python, untuk saling mengirim dan menyimpan data. JSON dipilih karena bentuknya sederhana dan mudah dibaca oleh manusia maupun komputer.
dict dan list yang sudah
kita pelajari di materi Python. Kalau sudah paham dict dan list, belajar JSON akan terasa mudah.
2. Struktur dan tipe data dalam JSON
Data JSON dibangun dari beberapa tipe data dasar berikut:
| Tipe di JSON | Contoh | Mirip dengan Python |
|---|---|---|
| Object | {"nama": "Budi"} |
dict |
| Array | ["membaca", "olahraga"] |
list |
| String | "Budi" |
str |
| Number | 13 atau 150.5 |
int / float |
| Boolean | true / false |
True / False |
| Null | null |
None |
3. Contoh data JSON
Berikut contoh data JSON untuk satu siswa, lengkap dengan array dan object di dalamnya:
Data di atas artinya: Budi berumur 13 tahun, statusnya aktif, punya dua hobi (disimpan dalam
array), alamatnya berupa object berisi kota dan kode pos, dan kelas masih
null alias belum diisi.
- Nama key harus selalu diapit tanda petik dua
" ", tidak boleh petik satu. - Tidak boleh ada koma tambahan setelah data terakhir dalam object atau array.
- Teks memakai
true/false/nullhuruf kecil semua, bukanTrue/False/Noneseperti di Python.
4. Mengubah data antara JSON dan Python
Python punya modul bawaan bernama json untuk mengubah data Python menjadi teks JSON,
dan sebaliknya.
json.dumps()mengubah data Python (dict/list) menjadi teks JSON.json.loads()mengubah teks JSON menjadi data Python (dict/list) kembali.
5. JSON di dalam Flask
Flask sudah menyediakan cara mudah untuk bekerja dengan JSON, tanpa perlu memanggil modul
json secara manual:
request.get_json()membaca data JSON yang dikirim oleh pengunjung, lalu mengubahnya menjadidictPython.jsonify()mengubahdictataulistPython menjadi data JSON untuk dikirim kembali sebagai response.
request.get_json() dipakai untuk membaca JSON masuk, dan
jsonify() dipakai untuk mengirim JSON keluar.