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.

Bentuk JSON sebenarnya sangat mirip dengan 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

Ilustrasi struktur data 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:

{ "nama": "Budi", "umur": 13, "aktif": true, "hobi": ["membaca", "olahraga"], "alamat": { "kota": "Yogyakarta", "kode_pos": "55281" }, "kelas": null }

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.

Aturan penulisan JSON yang sering bikin salah pemula:
  • 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/null huruf kecil semua, bukan True/False/None seperti di Python.

4. Mengubah data antara JSON dan Python

Python punya modul bawaan bernama json untuk mengubah data Python menjadi teks JSON, dan sebaliknya.

import json data_siswa = { "nama": "Budi", "umur": 13, "hobi": ["membaca", "olahraga"] } # dict Python -> teks JSON teks_json = json.dumps(data_siswa) print(teks_json) print(type(teks_json)) # <class 'str'> # teks JSON -> dict Python data_kembali = json.loads(teks_json) print(data_kembali["nama"]) print(type(data_kembali)) # <class 'dict'>

5. JSON di dalam Flask

Flask sudah menyediakan cara mudah untuk bekerja dengan JSON, tanpa perlu memanggil modul json secara manual:

from flask import Flask, request, jsonify app = Flask(__name__) @app.route("/api/siswa", methods=["POST"]) def tambah_siswa(): data = request.get_json() # teks JSON dari pengunjung -> dict Python nama = data["nama"] umur = data["umur"] return jsonify({ # dict Python -> teks JSON untuk dikirim balik "pesan": "Data siswa " + nama + " berhasil diterima", "umur": umur })
Kesimpulan: JSON adalah format data yang dipakai untuk bertukar informasi antar aplikasi. Bentuknya mirip dict dan list di Python, terdiri dari object, array, string, number, boolean, dan null. Di Flask, request.get_json() dipakai untuk membaca JSON masuk, dan jsonify() dipakai untuk mengirim JSON keluar.
← Kembali Ke Daftar Pelajaran Flask