Apa itu JSON? Penjelasan sederhana (dan cara memperbaiki galat umum)
Diperbarui 2026-07-06
JSON ada di mana-mana dalam perangkat lunak modern — berkas konfigurasi, respons API, basis data, dan pengaturan semua bergantung padanya. Namun satu koma yang tersasar bisa merusak seluruh berkas dan membuat Anda terpaku pada galat «Unexpected token» yang membingungkan. Panduan ini menjelaskan apa itu JSON dengan bahasa sederhana, bagaimana sintaksnya benar-benar bekerja, dan cara mendiagnosis serta memperbaiki galat yang paling sering Anda temui.
Apa itu JSON
JSON adalah singkatan dari JavaScript Object Notation. Ia format ringan berbasis teks untuk menyimpan dan menukar data terstruktur. Meski namanya begitu, ia tidak terikat pada JavaScript — hampir setiap bahasa pemrograman bisa membacanya dan menulisnya, dan itulah persis mengapa ia menjadi bahasa default API web.
Inti dari JSON adalah agar bisa dibaca manusia maupun mesin. Ia merepresentasikan data sebagai gabungan beberapa blok sederhana:
- Objek — kumpulan pasangan kunci/nilai yang dibungkus kurung kurawal
{ }. - Larik (array) — daftar terurut yang dibungkus kurung siku
[ ]. - Nilai — sebuah string, angka,
true,false,null, objek, atau larik.
Berikut contoh kecil tetapi lengkap:
{
"name": "Ada Lovelace",
"active": true,
"age": 36,
"skills": ["math", "logic"],
"address": {
"city": "London",
"postcode": null
}
}Aturan yang membuat orang tersandung
JSON tampak sangat mirip objek JavaScript, dan kemiripan itulah sumber kebanyakan kesalahan — JSON lebih ketat. Ingat aturan ini dan Anda akan menghindari sebagian besar galat:
1. Kunci dan string butuh tanda kutip ganda
Setiap kunci harus berupa string dalam tanda kutip ganda, dan setiap nilai teks juga harus memakai tanda kutip ganda. Tanda kutip tunggal bukan JSON yang valid, meski di JavaScript tak masalah.
// Tidak valid
{ 'name': 'Ada' }
// Valid
{ "name": "Ada" }2. Tanpa koma di akhir
Anda tidak boleh menyisakan koma setelah item terakhir dalam objek atau larik. Ini galat JSON yang paling umum, karena banyak editor dan bahasa dengan senang hati mengizinkannya di tempat lain.
// Tidak valid — koma setelah nilai terakhir
{ "a": 1, "b": 2, }
// Valid
{ "a": 1, "b": 2 }3. Tanpa komentar
JSON standar tidak punya sintaks komentar. Baris yang diawali // atau blok yang dibungkus /* */ akan menyebabkan galat penguraian. Jika Anda butuh komentar, format seperti JSON5 atau YAML mengizinkannya — lihat pemformat YAML kami jika itu lebih cocok untuk kasus Anda.
4. Angka ditulis polos
Angka ditulis tanpa tanda kutip serta tanpa nol di depan atau titik desimal di akhir. 01, 1., dan .5 semuanya tidak valid; tulis 1, 1.0, dan 0.5.
Galat umum dan cara memperbaikinya
Ketika sebuah parser menolak JSON Anda, biasanya ia melaporkan baris dan kolom. Lokasi itu menunjuk ke tempat parser menyerah, yang sering kali tepat setelah kesalahan sebenarnya. Berikut pesan yang paling sering Anda lihat dan apa artinya sebenarnya:
- "Unexpected token } in JSON" — hampir selalu koma di akhir sebelum kurung kurawal atau siku penutup. Hapus koma berlebih.
- "Unexpected string" / "Expected comma" — Anda kekurangan koma di antara dua nilai, atau memakai ganti baris di tempat seharusnya ada koma.
- "Unexpected token ' in JSON" — tanda kutip tunggal. Ganti dengan tanda kutip ganda.
- "Unexpected end of JSON input" — sebuah kurung siku atau kurawal tak pernah ditutup. Hitung
{dan}Anda; tiap pembuka butuh penutup yang cocok. - "Unexpected token o in JSON" — tanda klasik bahwa Anda mencoba mengurai sesuatu yang sudah berupa objek, bukan string JSON. Panggil parser hanya pada teks.
Cara tercepat memaku titik pastinya adalah melewatkan teks melalui pemformat yang memvalidasi sambil jalan. Pemformat dan validator JSON kami menyorot baris dan kolom tepat dari galat pertama dan, begitu JSON valid, mencetaknya rapi sehingga masalah struktural (kurung salah tempat, nilai bersarang satu tingkat terlalu dalam) langsung terlihat. Semuanya berjalan di browser Anda, jadi Anda bisa memeriksa data pribadi atau sensitif dengan aman.
Format vs. minify
Dua operasi terus muncul saat bekerja dengan JSON. Memformat (disebut juga mempercantik atau pretty-print) menambahkan indentasi dan ganti baris agar gumpalan padat mudah dibaca — ideal saat men-debug. Minify mengupas setiap spasi dan baris baru yang tak perlu untuk menghasilkan keluaran sekecil mungkin — ideal untuk dikirim lewat jaringan atau disematkan dalam kode, saat ukuran penting. Datanya identik di kedua cara; hanya spasi kosong yang berubah.
Daftar periksa cepat
Sebelum menyerahkan JSON ke sebuah program, pastikan:
- Semua kunci dan nilai string memakai tanda kutip ganda.
- Tidak ada koma di akhir.
- Tidak ada komentar.
- Setiap kurung siku dan kurawal seimbang.
- Lolos validator tanpa galat.
Betulkan kelima hal itu dan JSON menjadi seperti yang dirancang: format yang membosankan, dapat diprediksi, dan tinggal jalan. Ketika sesuatu tetap lolos, tempel ke pemformat JSON dan biarkan ia menunjuk langsung ke masalahnya.
Lainnya tentang Format data & pengodean
Lihat semua panduan Format data & pengodean →Alat yang disebut dalam panduan ini