Skip to content

JSON Basic

January 11, 2012

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: