Memahami JSON
Pelajari panduan lengkap format JSON mulai dari pengertian, aturan sintaks, tipe data, hingga perbandingannya dengan XML.
Saat membangun aplikasi web modern, sistem frontend (seperti React atau Vue) dan backend (seperti Node.js atau Python) perlu saling berkomunikasi untuk bertukar informasi. Format standar yang paling banyak digunakan di seluruh dunia untuk kebutuhan pertukaran data ini adalah JSON.
Artikel ini menyajikan panduan komprehensif mengenai JSON—mulai dari pengertian dasar, aturan sintaksis, tipe data yang didukung, hingga alasan mengapa JSON menjadi standar de facto dalam pengembangan web dan API modern.
Poin-Poin Utama (Key Takeaways)
- Format Pertukaran Data Ringan: JSON (JavaScript Object Notation) adalah format berbasis teks yang dirancang khusus untuk menyimpan dan mengirimkan data.
- Ramah Manusia & Komputer: Mudah dibaca dan ditulis oleh manusia, serta sangat cepat diolah (parsing) oleh komputer.
- Independen Bahasa Pemrograman: Meskipun diturunkan dari sintaksis JavaScript, JSON dapat digunakan dan didukung oleh hampir seluruh bahasa pemrograman modern (Python, Java, PHP, C#, Go, dll.).
- Standar REST API & JAMstack: Menjadi format utama pengiriman data antar-sistem, Headless CMS, dan Serverless Functions.
Apa Itu JSON?
JSON adalah singkatan dari JavaScript Object Notation. Format ini pertama kali dipopulerkan oleh Douglas Crockford pada awal tahun 2000-an sebagai alternatif yang lebih ringan dan simpel dibandingkan format XML (eXtensible Markup Language).
Meskipun namanya membawa kata “JavaScript”, JSON adalah format data yang sepenuhnya bebas dari keterikatan bahasa pemrograman (language-independent). Sebagian besar bahasa pemrograman modern memiliki fungsi bawaan (built-in functions) untuk membaca (parse) dan membuat (serialize) data berformat JSON secara native.
Aturan Sintaksis Utama dalam JSON
Format JSON dibangun atas dua struktur dasar: pasangan kunci dan nilai (key-value pairs) serta daftar nilai yang terurut (array).
Berikut adalah aturan sintaksis wajib saat menulis berkas atau data JSON:
- Data diapit oleh tanda kurung kurawal
{ }untuk objek, atau tanda kurung siku[ ]untuk array. - Kunci (Key) WAJIB diapit oleh tanda petik ganda (
" "). Penggunaan petik tunggal (' ') tidak sah dalam JSON. - Kunci dan nilai dipisahkan oleh tanda titik dua (
:). - Setiap pasangan data dipisahkan oleh tanda koma (
,). - Tidak boleh ada koma menggantung (trailing comma) di akhir elemen terakhir.
JSON
{
"nama": "Budi Santoso",
"usia": 28,
"isPengembang": true,
"keahlian": ["HTML", "CSS", "JavaScript"],
"alamat": {
"kota": "Jakarta",
"kodePos": "10110"
}
}
Tipe Data yang Didukung oleh JSON
JSON mendukung 6 tipe data dasar yang fleksibel:
| Tipe Data | Deskripsi | Contoh Penulisan |
| String | Teks yang diapit tanda petik ganda. | "email": "[email protected]" |
| Number | Angka bulat (integer) atau desimal (float). | "harga": 150000 atau "rating": 4.8 |
| Boolean | Nilai kebenaran logika. | "isAktif": true atau "isPending": false |
| Array | Daftar nilai terurut yang diapit kurung siku [ ]. | "kategori": ["Buku", "Elektronik"] |
| Object | Objek bersarang (nested object) yang diapit { }. | "kontak": { "telepon": "0812345678" } |
| Null | Mewakili nilai kosong atau tidak ada data. | "catatan": null |
Perbandingan: JSON vs. XML
Sebelum JSON populer, XML adalah standar utama pertukaran data di internet. Berikut perbandingan keduanya:
| Parameter | JSON | XML |
| Sintaksis | Ringkas, menggunakan pasangan { key: value }. | Panjang, menggunakan tag pembuka/penutup <tag></tag>. |
| Ukuran Berkas | Lebih kecil dan hemat bandwidth. | Lebih besar karena adanya tag berulang. |
| Kecepatan Parsing | Sangat cepat diproses oleh peramban/bahasa program. | Lebih lambat, membutuhkan XML Parser khusus. |
| Dukungan Array | Mendukung struktur array secara native. | Harus membuat tag himpunan khusus. |
| Kemudahan Dibaca | Sangat bersih dan intuitif bagi manusia. | Cenderung rumit dan ramai oleh tag HTML-like. |
Penggunaan JSON di JavaScript (Fetch API)
Di dalam JavaScript, proses pengolahan JSON sangat mudah berkat dua fungsi bawaan utama:
JSON.parse(): Mengonversi teks string berformat JSON menjadi objek JavaScript.JSON.stringify(): Mengonversi objek JavaScript menjadi teks string berformat JSON (siap dikirim ke server).
JavaScript
// Contoh mengambil data JSON dari REST API
async function ambilDataProduct() {
try {
const response = await fetch('https://api.example.com/products/1');
// Mengonversi respons HTTP menjadi objek JSON
const data = await response.json();
console.log("Nama Produk:", data.nama);
console.log("Harga:", data.harga);
} catch (error) {
console.error("Gagal membaca JSON:", error);
}
}
Kesimpulan
JSON adalah format data standar industri yang ringan, fleksibel, dan sangat efisien. Baik Anda sedang membangun REST API, mengintegrasikan Headless CMS, atau mengelola data dalam arsitektur JAMstack, menguasai struktur dan sintaksis JSON merupakan kemampuan fundamental yang wajib dimiliki oleh setiap pengembang web modern.
FAQ (Frequently Asked Questions)
1. Apakah kita bisa menambahkan komentar di dalam file JSON?
Secara standar resmi, JSON tidak mendukung komentar (seperti // atau /* */). Jika Anda membutuhkan file konfigurasi yang mendukung komentar, Anda bisa menggunakan format turunan seperti JSONC (JSON with Comments) atau YAML.
2. Apa perbedaan antara objek JavaScript dan JSON?
Objek JavaScript adalah struktur data aktif di dalam memori program yang dapat menampung fungsi (method). Sedangkan JSON adalah format data berbasis teks murni (string) yang tidak dapat menyimpan fungsi atau logika yang dapat dieksekusi.
3. Mengapa format JSON sangat penting dalam REST API dan JAMstack?
Karena JSON memiliki ukuran berkas yang sangat kecil dan struktur yang teratur, sehingga dapat dikirimkan melalui jaringan internet dengan sangat cepat dari server/API menuju aplikasi frontend atau Static Site Generator.