Thursday, January 10, 2013

Pengertian JSON (JavaScript Object Notation)

Apa itu Format JSON?

JSON (JavaScript Object Notation) merupakan format yang ringan untuk memasukan data ke dalam sebuah variabel. Sangat mudah dimengerti dan diimplementasikan oleh manusia, dan mudah juga untuk komputer dalam melakukan parsingnya.

JSON merupakan bagian dari bahasa pemrograman JavaScript (Standard ECMA-262 3rd Edition – December 1999). JSON merupakan format teks yang sepenuhnya independen tetapi menggunakan konvensi yang familiar dengan bahasa pemrograman dari keluarga-C, termasuk C, C++, C#, Java, JavaScript, Perl, Python, dan sebagainya. Kelebihan inilah yang membuat JSON menjadi sebuah bahasa data-interchange yang ideal.

JSON dibangun dalam dua struktur:
  1. Beberapa pasangan dari nama/nilai. Dalam beberapa bahasa perograman biasa disebut dengan istilah object, record, struct, tabel hash, key list atau associative array.
  2. Nilai-nilai yang terusun secara ordered list. Biasa disebut dengan array, vector, list atau daftar dalam bahasa pemrograman.
 JSON adalah struktur data yang universal, dalam artian bisa digunakan dalam berbagai bahasa pemrograman. Hampir semua bahasa pemrograman mendukung penuh JSON dalam berbagai format. Hal ini memungkinkan format data yang dapat dipertukarkan menggunakan bahasa pemrograman juga menggunakan dasar dari struktur JSON.

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).

Object dalam JSON

Object dalam JSON

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).
Array dalam JSON

Array dalam JSON

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.
Value atau nilai dalam format JSON

Value atau nilai dalam format JSON


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.

Tipe data string pada format JSON

Tipe data string pada format JSON


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://setoelkahfi.web.id/
---------------------------

Pengertian JSON

JSON (dibaca: “Jason”), singkatan dari JavaScript Object Notation adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek).

Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrograman aplikasi web AJAX dengan berperan sebagai alternatif terhadap penggunaan tradisional format XML.

Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript (secara spesifik, edisi ketiga standar ECMA-262, Desember 1999 [1]) dan umumnya digunakan dengan bahasa tersebut, JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Kode untuk pengolahan dan pembuatan data JSON telah tersedia untuk banyak jenis bahasa pemrograman. Situs json.org menyediakan daftar komprehensif pengikatan JSON yang tersedia, disusun menurut bahasa. (id.wikipedia.com)

Contoh JSON

{"menu": {
  "id": "file",
  "value": "File",
  "popup": {
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}
    ]
  }
}}

data diatas setara dengan

<menu id="file" value="File">
  <popup>
    <menuitem value="New" onclick="CreateNewDoc()" />
    <menuitem value="Open" onclick="OpenDoc()" />
    <menuitem value="Close" onclick="CloseDoc()" />
  </popup>
</menu>
 

JSON Vs XML

Dalam membanding kan antara json dan XML penulis mengambil kreteria beriku dalam membandingkannya.
  • Human readability. Mudah dibaca adalah kreteria yang penting karena dalam proses pembuatan dan mendebug akan memudahkan programmer. XML lebih mudah dibaca dan di debug dibanding kan JSON. Perhatikan dan bandingkan 2 contoh berikut XML
    1
    2
    3
    4
    
    <person>
       <firstname>Ibnu</firstname>
       <lastname>daqiqil</lastname>
    </person>
    JSON:
    1
    2
    3
    4
    
     
    ({
       "firstName" : "Ibnu",
       "lastName" : "Daqiqil"
    });
     
  • Kemudahan dibuat disisi server. Artinya ada dukungan dari server side untuk menggenerate data dalam format tersebut. Di php pembuatan data berformat json jauh lebih mudah apalagi di php versi 5.2. Cukup dengan memanggil fungsi json_encode maka sebuah format JSON sudah dapat di buat. Contoh
    XML
    1
    2
    3
    4
    5
    
    $doc = new DOMDocument( );
    $ele = $doc->createElement( 'nama' );
    $ele->nodeValue = 'Sensei Ninja PHP';
    $doc->appendChild( $ele );
    print $doc->saveHTML( );
    JSON
    1
    2
    
    $data = array ("nama" => "Sensei Ninja PHP");
    print json_encode($data);

  • Kemudahan processing di client side. Json sangat mudah di proses di client side trutama di javascript. contoh
    1
    2
    
    var person = eval(xhr.responseText);
    alert(person.firstName);
    Simple saja.. dengan meng-”eval” sebuah string json maka akan berubah menjadi sebuah object javascript. berbeda dengan XML. harus diambil menggunakan proses DOM. contoh
    1
    2
    3
    
    var xml = xhr.responseXML;
    var elements = xml.getElementsByTagName("firstName");
    alert(elements[0].firstChild.textContent);
  • Debugging dan trouble-shooting sama-sama susah di debug. jadi harus dibaca satu2. jika XML error maka dia tidak bsa di tampilkan dengan baik. jika JSON akan muncul error di javascript anda

Syntax JSON

Deklarasi.
Semua object JSON di daklarasikan menggunakan spasang tanda kurawal. Jika kita menggunakan pada javascript maka kita dapat meng-assign-nya langsung ke variabel. contoh
1
var json_obj = {};

String, Integer dan Boolean.
Kita dapat memasukan ketiga tipe data diatas kedalam sebuah json object. untuk string cukup dimasukkan diantara tanda petik. contoh:
1
2
3
4
5
var json_obj = {
  nama : "Ibnu Daqiqil Id",
  umur : 24,
  menikah : false
};

Array dan object
Selain tipe data sederhana kita juha dapat mempunyai tipe data yang komplek seperti array dan object.
1
2
3
4
5
6
7
8
9
10
var json_obj = {
  nama : "Ibnu Daqiqil Id",
  umur : 24,
  menikah : false,
  acara_favorite: ['Lost', 'Chuck', 'Smallvile', 'Heroes'],
  keluarga: [
        {nama: "Joni", umur: 57, relasi: "ayah"},
        {nama: "Tina", umur: 26, relasi: "kakak"}
    ]
};

Sumber :  http://koder.web.id/
Artikel Terkait

1 comments:

Hasyim as'ari said...

ijin copy paste Pengertian JSON (JavaScript Object Notation) mas..
salam programer, ari