JSON Basic
JSON – JavaScript Object Notation (baca: jeisen) sekarang mulai popular digunakan sebagai format pertukaran data menggantikan XML. Beberapa keunggulan JSON antara lain:
- ukurannya lebih kecil dibanding XML (ukuran XML membengkak karena overhead nama tag)
- human-readable (walaupun kalau ukurannya besar teler juga membacanya)
- karena kecil, pertukaran datanya cepat
- sudah mulai banyak parser yang mendukung JSON (tentu saja JavaScript mendukungnya)
JSON hanya bisa digunakan untuk data yang terstruktur (XML mempunyai keunggulan untuk meng-handle data yang tidak terstruktur). Tipe data yang didukung oleh JSON antara lain: string, number (integer/floating), boolean (true/false), array, dan null.
Basic Grammar
- format JSON merepresentasikan sebuah object atau array of objects.
- sebuah object, dimulai dengan { dan ditutup dengan }
- sebuah array, dimulai dengan [ dan ditutup dengan ]
- dalam object terdapat pair yang merepresentasikan nama pair dan nilainya
- pair dan nilainya dipisahkan dengan tanda :
- nama pair, harus dalam string
- string harus di-encode dalam Unicode dan dimulai dengan ” dan ditutup dengan “
- string tertentu harus di-escape dengan \ yaitu: ” \ / \b \f \n \r\t \uXXXX
- nilai true, false, null harus ditulis dalam huruf kecil
Contoh
Biar mudah kita coba representasikan sebuah data ke dalam notasi object:
Object->nama = "Mario Tegal" ->umur = 40 ->telepon[0] = "0856" ->telepon[1] = "0857" ->pekerjaan->nama = "PT. Motivator" ->alamat = "Jakarta" ->telepon[0] = "021-111" ->telepon[1] = "021-222"
Data di atas dapat ditulis dalam format JSON sebagai berikut:
{ "nama" : "Mario Tegal", "umur" : 40, "telepon" : ["0856", "0857"], "pekerjaan" : { "nama" : "PT. Motivator", "alamat" : "Jakarta", "telepon" : ["021-111", "021-222"] } }
Dalam XML dapat dituliskan seperti ini:
<?xml version="1.0" encoding="ISO-8859-1"?> <kontak> <nama>Mario Tegal</nama> <umur>40</umur> <telepon id="0">0856</telepon> <telepon id="1">0857</telepon> <pekerjaan> <nama>PT. Motivator</nama> <alamat>Jakarta</alamat> <telepon id="0">021-111</telepon> <telepon id="1">021-222</telepon> </pekerjaan> </kontak>
Referensi:
Leave a Comment