JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 – Desember 1999.

JSON

JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.

JSON terbuat dari dua struktur:

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

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.

JSON menggunakan struktur sebagai berikut:

  1. Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
    Object

    Contohnya:

    https://gist.github.com/d2447aae393c0400277a

  2. Array adalah kumpulan nilai yang terurutkan. Array dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

    Array

    Contohnya:
    https://gist.github.com/371b5de469791e4689fa

  3. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.

    Value
  4. String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes “\” untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.

    String
  5. Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.

    Number

Dulunya teknologi pertukaran data pada sebuah Website sangat jarang di gunakan, seperti twitter yang saling bertukar dengan web pihak lain atau apps pihak lain. Namun setelah adanya XML sebagai format pertukaran data antar aplikasi (web/desktop) semuanya dapa di lakukan. Cara kerja XML sama dengan RSS Feed, untuk tag yang di gunakan pada XML seperti berikut :

JSON merupakan format baru untuk pertukaran data web. JSON adalah kependekan dari JavaScript Object Notation. Penulisan format data menggunakan JSON sangatlah singkat karena menggunakan notasi-notasi javascript seperti kurung siku [] dan kurung kurawal {}. Jika kita konversi data XML di atas ke dalam format JSON, kira-kira menjadi seperti berikut :

Simple & Fast

Karena kesederhanaan penulisan JSON, ukuran file yang dihasilkan pun menjadi lebih ramping dibandingkan XML (karena terus mengulangi kata yang sama dalam tag-tag yang digunakan). Hal ini berimbas pada kecepatan loading transfer data, pertukaran data JSON lebih cepat jika dibandingkan dengan XML. Oleh karena itu banyak situs-situs besar yang menggunakan JSON sebagai format pertukaran data. Sebagai contoh, twitter menyediakan API untuk digunakan pada situs pihak ketiga atau aplikasi pihak ketiga misalnya twitter client (tweetdeck dll).

JSON vs XML

Mengingat kedua format tersebut biasa digunakan dalam pertukaran data, mari kita bandingkan kedua format tersebut dilihat dari beberapa aspek.

Format Penulisan

Format penulisan XML sangatlah mudah untuk dipahami, apalagi bagi anda penggemar Markup Language seperti HTML, lalu bagaimana dengan JSON? terkadang saya pribadi sering mengalami kesulitan memahami format json ini jika tidak ditulis dengan benar (tanpa indentasi). Namun pada akhirnya tergantung pada penggunanya sendiri, jika penggunanya lebih familiar dengan javascript mungkin pembacaan format JSON dirasa sangat mudah.

Ukuran File

Banyaknya karakter yang digunakan dalam sebuah file akan mempengaruhi besarnya file yang dihasilkan. Karena XML adalah Markup language, pastinya terdapat kata-kata yang sama pada setiap tag yang digunakan. Berbeda dengan JSON yang hanya menggunakan tanda kurung kurawal sebagai pembeda data-datanya sehingga ukuran file JSON lebih kecil dibandingkan XML. Namun jika keduanya telah dicompress sebelum dikirimkan ukurannya tidak jauh berbeda.

Kecepatan Parsing

Parsing adalah proses pengenalan bagian-bagian terkecil dari suatu dokumen XML/JSON dan Proses parsing ini berlangsung didalam browser. Proses parsing dokumen JSON lebih sederhana, yakni dengan menggunakan fungsi javascript eva() sementara XML menggunakan XMLHttpRequest. Berdasarkan survey JSON lebih unggul dalam proses parsing ini.

Kesimpulan

Keberadaan JSON sebagai format pertukaran data baru tidak serta merta menghapus keberadaan XML yang sudah menjadi pendahulunya. Keduanya memiliki kelebihan dan kekurangan. Namun kini JSON telah didukung oleh berbagai bahasa pemrograman (proses parsing) sehingga memungkinkan penggunaan JSON lebih ramai dibandingkan dengan XML kedepannya. Pada akhirnya programmer sendirilah yang menentukan, apakah pakai JSON atau XML?

Source :

Iklan

Good People write good comments ..

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s