Pengertian JSON dan contoh pertama
JSON adalah singkatan dari JavaScript Object Notation. Format ini dipopulerkan oleh Douglas Crockford pada awal tahun 2000-an, meminjam sintaks dari JavaScript, dan distandarkan sebagai RFC 8259 dan ECMA-404. Meskipun namanya demikian, JSON tidak bergantung pada bahasa pemrograman tertentu: hampir semua bahasa pemrograman bisa membaca dan menulisnya.
Contoh dokumen JSON kecil yang mendeskripsikan seseorang:
{"name": "Ada Lovelace", "born": 1815, "languages": ["English", "French"], "mathematician": true, "spouse": null}
Tipe data JSON
| Tipe | Contoh | Catatan |
|---|---|---|
| String | "Hello" | teks dalam tanda kutip ganda, dengan escape seperti \n |
| Number (angka) | 42, -3.14, 6.02e23 | tanpa NaN, Infinity, heksadesimal, atau nol di depan |
| Boolean | true, false | selalu huruf kecil |
| Null | null | nilai kosong atau tidak diketahui |
| Object (objek) | {"key": "value"} | pasangan nama/nilai; namanya berupa string |
| Array | [1, 2, 3] | daftar nilai berurutan dengan tipe apa pun |
JSON tidak memiliki tipe tanggal: tanggal biasanya ditulis sebagai string ISO 8601 seperti "2026-05-01T10:00:00Z".
Format JSON: aturan sintaks
- Data ditulis sebagai pasangan nama/nilai:
"name": "Ada". - Nama (key) dan string selalu memakai tanda kutip ganda – tidak pernah tanda kutip tunggal.
- Item dipisahkan dengan koma, tanpa koma setelah item terakhir.
- Kurung kurawal
{ }berisi objek, kurung siku[ ]berisi array. - Komentar tidak diizinkan.
- Spasi dan baris baru di antara item diabaikan, sehingga data yang sama bisa di-minify atau diformat.
- Teks JSON berisi satu nilai di level teratas dan di-encode dalam UTF-8.
Apa itu file JSON?
File JSON adalah file teks biasa berekstensi .json yang berisi satu dokumen JSON. Media type-nya adalah application/json, dan file ini sebaiknya disimpan dalam UTF-8. Contoh file JSON yang umum adalah ekspor data dari aplikasi dan situs web (misalnya Google Takeout atau unduhan data media sosial), file konfigurasi seperti package.json, respons API yang disimpan ke disk, dan kumpulan data untuk analisis. Karena berupa teks biasa, file JSON aman dibuka – file ini tidak bisa menjalankan kode.
Cara membuka file JSON
| Di mana | Caranya |
|---|---|
| Windows | Klik kanan file → Buka dengan (Open with) → Notepad, atau gunakan code editor seperti VS Code. Menyeret file ke jendela browser juga akan menampilkannya. |
| Mac | Buka dengan TextEdit atau code editor, atau seret file ke jendela browser. |
| iPhone dan Android | Buka dari aplikasi File (Files) dengan penampil teks, atau muat ke JSON viewer online – milik kami bisa dipakai di HP dan file tetap berada di perangkat Anda. |
| Browser web | Firefox memiliki JSON viewer bawaan; di browser apa pun, JSON viewer online menampilkan data sebagai tree yang bisa dibuka-tutup. |
| Excel | Gunakan Data → Dapatkan Data → Dari File → Dari JSON (Get Data → From File → From JSON) di Windows, atau konversi file terlebih dahulu dengan JSON ke CSV. |
JSON vs XML
| JSON | XML | |
|---|---|---|
| Sintaks | kurung kurawal, kurung siku, pasangan nama/nilai | tag pembuka dan penutup |
| Tipe data | string, angka, boolean, null, objek, array | hanya teks, kecuali tipe didefinisikan oleh schema |
| Ukuran | ringkas | lebih besar karena ada tag penutup |
| Komentar | tidak | ya |
| Atribut, namespace | tidak | ya |
| Penggunaan umum | web API, konfigurasi, database NoSQL | dokumen, file office, SOAP, dan sistem enterprise |
JSON di API dan aplikasi
Sebagian besar web API mengirim dan menerima JSON. Klien mengirim request dengan header Content-Type: application/json, server menjawab dengan JSON, lalu program mengubahnya menjadi objek native dengan JSON.parse di JavaScript, json.loads di Python, atau json_decode di PHP. JSON juga dipakai di file konfigurasi seperti package.json dan tsconfig.json, database dokumen seperti MongoDB, serta output terstruktur dari model AI.
Error JSON yang umum
- Koma di akhir setelah item terakhir:
[1, 2,] - Tanda kutip tunggal atau key tanpa tanda kutip:
{'a': 1},{a: 1} - Komentar seperti
// note - Koma atau kurung yang hilang di antara item
- Nilai JavaScript atau Python seperti
undefined,NaN, atauTrue
Tempel data Anda ke JSON validator untuk melihat baris dan kolom persis dari masalahnya, atau biarkan Perbaiki membetulkannya secara otomatis.
JSON5, JSONC, dan JSON Lines
- JSON5 – superset yang lebih longgar untuk file yang ditulis manual: komentar, koma di akhir, tanda kutip tunggal, key tanpa tanda kutip, dan angka heksadesimal. Parser JSON standar tidak bisa membacanya.
- JSONC – JSON dengan komentar, dipakai untuk pengaturan VS Code dan
tsconfig.json. - JSON Lines / NDJSON (
.jsonl) – satu nilai JSON per baris, ideal untuk log dan streaming kumpulan data besar. - GeoJSON – JSON untuk data geografis, didefinisikan dalam RFC 7946.
Pertanyaan yang sering diajukan
Apakah JSON termasuk bahasa pemrograman?
Tidak. JSON adalah format data: JSON mendeskripsikan data, tetapi tidak bisa berisi logika, fungsi, atau komentar.
Apakah JSON sama dengan objek JavaScript?
Tidak. JSON adalah teks yang terlihat seperti object literal JavaScript, tetapi lebih ketat: key dan string wajib memakai tanda kutip ganda, dan fungsi, undefined, serta komentar tidak diizinkan. JSON.parse mengubah teks tersebut menjadi objek sungguhan.
Bagaimana cara membuat file JSON?
Tulis data di editor teks apa pun dengan mengikuti aturan di atas, lalu simpan sebagai UTF-8 dengan ekstensi .json. Periksa dengan JSON validator sebelum Anda menggunakannya.
Terakhir diperbarui: