Memahami JSON

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:

  1. Data diapit oleh tanda kurung kurawal { } untuk objek, atau tanda kurung siku [ ] untuk array.
  2. Kunci (Key) WAJIB diapit oleh tanda petik ganda (" "). Penggunaan petik tunggal (' ') tidak sah dalam JSON.
  3. Kunci dan nilai dipisahkan oleh tanda titik dua (:).
  4. Setiap pasangan data dipisahkan oleh tanda koma (,).
  5. 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 DataDeskripsiContoh Penulisan
StringTeks yang diapit tanda petik ganda."email": "[email protected]"
NumberAngka bulat (integer) atau desimal (float)."harga": 150000 atau "rating": 4.8
BooleanNilai kebenaran logika."isAktif": true atau "isPending": false
ArrayDaftar nilai terurut yang diapit kurung siku [ ]."kategori": ["Buku", "Elektronik"]
ObjectObjek bersarang (nested object) yang diapit { }."kontak": { "telepon": "0812345678" }
NullMewakili 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:

ParameterJSONXML
SintaksisRingkas, menggunakan pasangan { key: value }.Panjang, menggunakan tag pembuka/penutup <tag></tag>.
Ukuran BerkasLebih kecil dan hemat bandwidth.Lebih besar karena adanya tag berulang.
Kecepatan ParsingSangat cepat diproses oleh peramban/bahasa program.Lebih lambat, membutuhkan XML Parser khusus.
Dukungan ArrayMendukung struktur array secara native.Harus membuat tag himpunan khusus.
Kemudahan DibacaSangat 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:

  1. JSON.parse(): Mengonversi teks string berformat JSON menjadi objek JavaScript.
  2. 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.

Leave a Comment

Your email address will not be published. Required fields are marked *