Kisah di balik pemformat JSON
JSON kini menjadi format yang digunakan sebagian besar API web, namun tidak pernah dirancang oleh sebuah komite. Ia lebih ditemukan daripada diciptakan: bagian kecil dari JavaScript yang ternyata cukup untuk memindahkan data antarprogram.
Format yang ditemukan
Sekitar tahun 2001, Douglas Crockford dan rekan-rekannya di State Software mencari cara agar browser dan server dapat bertukar data tanpa plugin. Mereka memakai literal objek dan array yang sudah dipahami JavaScript, memberi nama pada gagasan itu, dan memasang tata bahasanya di json.org, yang terkenal cukup pendek untuk muat di balik kartu nama.
Mengapa tidak ada komentar
Sejak awal Crockford menghapus komentar dari JSON karena orang mulai menaruh perintah untuk parser di dalamnya, yang akan merusak interoperabilitas. Sarannya adalah menghapus komentar dengan minifier sebelum parsing. Itulah sebabnya pemformat melaporkan komentar sebagai karakter tak terduga, dan mengapa ada format seperti JSON5 dan JSONC untuk file konfigurasi.
Dari halaman web menjadi standar
JSON pertama kali dijelaskan sebagai RFC 4627 pada 2006. Ecma menerbitkan ECMA-404 pada 2013, dan IETF mengganti teks lama dengan RFC 8259 pada 2017, yang mewajibkan UTF-8 untuk JSON yang dipertukarkan antarsistem. Tata bahasanya hampir tidak berubah sejak json.org: objek, array, string, angka, true, false, dan null.
Angka dan jalur
JSON sendiri tidak membatasi angka, tetapi kebanyakan parser menyimpannya sebagai bilangan titik mengambang 64 bit, sehingga bilangan bulat di atas 9007199254740991 bisa kehilangan presisi tanpa peringatan. Karena itu ID besar sering dikirim sebagai string. Untuk menunjuk sebuah nilai, Stefan Goessner mengusulkan JSONPath pada 2007, terinspirasi XPath, dan menjadi standar RFC 9535 pada 2024. Jalur yang disalin pemformat ini mengikuti notasi dengan tanda dolar dan kurung siku itu.
Pertanyaan yang sering diajukan
Siapa yang menciptakan JSON?
Douglas Crockford mendefinisikan dan mempopulerkan JSON pada awal 2000-an, meski ia berkata menemukannya, karena JSON adalah bagian dari JavaScript yang sudah ada.
Mengapa JSON tidak mengizinkan koma di akhir atau tanda kutip tunggal?
Tata bahasanya dibuat sekecil mungkin agar setiap bahasa dapat mengurainya dengan cara yang sama. Setiap kemudahan tambahan adalah peluang baru bagi dua parser untuk berbeda hasil.
Apakah JSON sama dengan objek JavaScript?
Tidak. JSON adalah teks. Kunci wajib memakai tanda kutip ganda, dan fungsi, undefined, komentar, NaN, serta Infinity tidak diizinkan, walaupun JavaScript menerimanya dalam kode.
Siap ke coba itu?
Buka PictorX di browser Anda — tidak instalasi, tidak credit kartu diperlukan ke mulai.
Buka pemformat JSON