Rabu, 11 Januari 2017

JavaScript Object Notation
 
JSON adalah kependekan dari Javascript Object Notation. JSON dipakai untuk dua hal; yang pertama untuk format transfer data antar device/OS/bahasa pemerograman yang berbeda dan sebagai media penyimpanan data seperti MongoDB. JSON dalam artikel ini lebih menekankan pada transfer data. Sebenarnya selain JSON, format transfer data antar sistem bisa dilakukan XML, plaintext ataupun HTML, namun 3 format tersebut punya banyak kekurangan, terutama dari sisi ukuran. Saingant terdekat dari JSON adalah XML, dalam layanan Web API atau webservice, sebagian layanan menggunakan JSON, sebagian yang lain menggunakan format XML. Dua format ini bisa saling menggantikan. 

Kelebihan JSON

Walaupun XML sudah sejak lama dipakai dalam format transfer data, namun beberapa tahun terakhir, JSON menggeser posisi XML. Kelebihan JSON dari XML adalah sbb: 
  1. Ukuran lebih kecil dibanding XML, efeknya transfer data lebih cepat dan lebih hemat resource, terutama  bandwidth
  2.  JSON adalah format data bawaan di Javascript, artinya jike data dari server di kirim ke client , dan client menggunakan javascript, maka tidak perlu library tambahan untuk memprosesnya dibanding XML, format JSON lebih sederhana.
  3. library JSON ada di setiap bahasa pemrograman sehingga memudahkan programer yang berbeda bahasa pemrograman.  

JSON terbuat dari dua struktur:
  • Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
  • Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence). 
 Contoh JSON

{"menu": {
  "id": "file",
  "value": "File",
  "popup": {
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}
    ]
  }
}}
 
Format data JSON mempunyai aturan sebagai berikut:

Object adalah satu set nama/nilai yang tidak terurut (An object is an unordered set 
of name/value pairs). Penulisan object dimulai dengan tanda { (left 
brace) dan diakhiri dengan tanda } (right brace). Setiap nama diikuti 
oleh tanda : (colon) dan pasangan nama/nilai dipisahkan dengan tanda , 
(comma) 
 

Array adalah sekumpulan nilai yang teratur(An array is an ordered collection of values). 
Penulisan sebuah array dimulai dengan tanda [ (left bracket) dan diakhiri dengan tanda ] (right bracket. 
Nilai dipisahkan menggunakan tanda , (comma).

Nilai bisa berupa string dalam tanda kutip, atau number (angka), TRUE atau FALSE atau NULL, sebuah object atau sebuah array. Struktur ini dapat ditulis menggunakan metode bersarang.
String adalah rangkaian atau urutan karakter unicode yang berada dalam tanda kutip, bisa juga hanya berisi karakter kosong, menggunakan tanda \ (backslash) untuk escape. Karakter di representasikan sebagai string tunggal. Tipe data string pada JSON sangat mirip dengan definisi pada bahasa C atau Java.



Number sangat mirip dengan definisi pada bahasa C atau Java, hanya saja tipe bilangan oktal dan heksadesimal tidak digunakan.

Ruang kosong (Whitespace) dapat diselipkan diantara pasangan atau token apa saja. Kecuali detail encoding, yang secara jelas akan berfungsi untuk menjelaskan bahasa yang digunakan.

JSON sangat berguna saat kita sering melakukan pertukaran data pada sebuah aplikasi. Contoh nyata adalah penggunaan tabulasi menggunakan JqGrid, yang merupakan salah satu plugin jQuery untuk menampilkan data dalam bentuk spreadsheet. Plugin ini juga mendukung format JSON, selain format XML.



sumber: http://www.myusro.info/2013/01/pengertian-json-javascript-object.html