Sejarah JSON: Dari Tahun 2000 hingga Menjadi Standar Industri
Bagaimana sebuah subset JavaScript yang disederhanakan bisa menjadi format data paling populer di dunia? Cerita JSON mencakup Douglas Crockford, era Web 2.0, dan kemenangan telak atas XML.
Douglas Crockford dan asal-mula JSON
Pada awal 2000-an, Douglas Crockford, pengembang JavaScript berpengalaman, frustrasi dengan XML, format data yang mendominasi masa itu. XML bertele-tele, sulit diurai di peramban, dan berlebihan untuk transfer data sederhana dari server ke klien.
Saat bekerja di State Software, Crockford sadar bahwa sintaks object literal JavaScript sudah bisa berfungsi sebagai format data: ringkas, mudah dibaca manusia, dan dipahami semua peramban. Ia menamainya JSON (JavaScript Object Notation) dan mendaftarkan json.org pada tahun 2002 untuk mempublikasikan spesifikasinya.
Gelombang adopsi Web 2.0
Titik balik JSON datang bersama gerakan Web 2.0 (2005–2006). Ketika aplikasi berbasis AJAX membutuhkan respons server yang ringan, pengembang beralih ke JSON daripada XML. Yahoo menjadi pengadopsi awal, mengirimkan JSON di beberapa layanan webnya.
Untuk beberapa waktu, developer mengurai JSON dengan eval(). Caranya cepat tetapi berbahaya, karena eval() bisa mengeksekusi kode sembarangan. ECMAScript 3.1 (yang menjadi ES5 pada 2009) menambahkan JSON.parse() native yang aman, menghapus risiko itu, dan menjadikan JSON bagian dari platform.
Menjadi standar
Ecma meresmikan JSON sebagai standar ECMA-404 pada tahun 2013, dan IETF menerbitkannya sebagai RFC 7159 pada tahun 2014 (direvisi menjadi RFC 8259 pada tahun 2017). Dokumen-dokumen itu menjadikan JSON standar yang independen dari bahasa, bukan lagi fitur JavaScript.
Dari situ, adopsinya menjadi menyeluruh. REST API beralih ke JSON secara bawaan. Database NoSQL seperti MongoDB menyimpan dokumen sebagai JSON (BSON). Berkas konfigurasi, token autentikasi JWT, dan perkakas cloud-native semuanya membakukan JSON atau superset-nya, YAML.
Era eval() dan JSONP
Sebelum parsing native ada, developer mengambil data lintas domain dengan JSONP: membungkus respons JSON dalam nama fungsi callback dan memuatnya sebagai tag <script> untuk menghindari same-origin policy. Cara ini berjalan di mana saja, tetapi halaman pemanggil harus memercayai penyedia data sepenuhnya, karena tag script mengeksekusi apa pun yang diterimanya.
Masalah kepercayaan itu tidak menua dengan baik. Saat API makin banyak, JSONP menjadi vektor injeksi yang umum, dan industri bergerak maju: CORS menstandarkan permintaan lintas origin yang benar, dan JSONP kini hanya menjadi kuriositas historis yang akan Anda temui di codebase lama.
Ekosistem JSON modern
JSON berkembang melampaui format pertukaran data. JSON Schema tumbuh menjadi ekosistem validasi dengan proses draft-nya sendiri, dan menjadi dasar kontrak API serta generator kode. Varian muncul untuk kebutuhan tertentu: JSON5 melonggarkan sintaks untuk file yang diedit manusia, BSON menyimpan dokumen MongoDB dalam tata letak biner, NDJSON (JSON yang dibatasi baris baru) mengalirkan record baris demi baris untuk log dan transfer massal, dan JSONC (JSON dengan komentar) bertahan dalam file konfigurasi seperti pengaturan VS Code.
Tata kelola formatnya juga mantap: RFC 8259 (2017) adalah Internet Standard saat ini, di samping ECMA-404. Situs asli Douglas Crockford, json.org, masih online sebagai referensi spesifikasi sekaligus bagian dari sejarah web.
Mengapa JSON mengalahkan XML
JSON kira-kira 30–40% lebih kecil daripada XML yang setara (tanpa closing tag, tanpa atribut), memetakan langsung ke struktur data native di semua bahasa, dan jauh lebih cepat diurai. XML bertahan di ceruknya (markup dokumen, SOAP, konfigurasi dengan schema), tetapi JSON mendominasi pertukaran data.
FAQ
- Siapa yang menemukan JSON?
- Douglas Crockford, seorang pengembang perangkat lunak asal Amerika yang dikenal lewat karyanya pada JavaScript. Ia memperkenalkan JSON sekitar tahun 2001 dan memformalkannya melalui json.org pada tahun 2002.
- Kapan JSON menjadi standar?
- JSON dibakukan sebagai ECMA-404 pada tahun 2013 dan sebagai IETF RFC 7159 pada tahun 2014 (direvisi sebagai RFC 8259 pada tahun 2017). Hal ini menjadikannya spesifikasi formal yang independen terhadap bahasa.
- Mengapa JSON menggantikan XML?
- JSON lebih ringan, lebih cepat diurai, dan memetakan langsung ke struktur data native. Untuk API dan aplikasi web, keunggulan tersebut lebih besar daripada kaya fitur XML (atribut, namespace, schema native).
Artikel terkait
Apa itu JSON? Panduan Lengkap untuk Pemula →
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca manusia dan mudah diurai mesin. Pelajari sintaks, tipe data, dan struktur yang menjadi fondasi API modern.
Panduan Lengkap JSON Schema (Draft 7) →
JSON Schema adalah standar untuk mendeskripsikan dan memvalidasi struktur JSON. Pelajari keyword inti, bangun schema API nyata, dan terapkan praktik terbaik.
Contoh JSON dalam 7 Bahasa: JavaScript, Python, Go, Rust, PHP, Java, C# →
Contoh parsing dan serialisasi JSON siap produksi dalam tujuh bahasa, lengkap dengan penanganan error dan praktik terbaik.