Definisi Dan Kegunaan JSON (JavaScript Object Notation)
Definisi JSON (JavaScript Object Notation)
JSON (JavaScript Object Notation) adalah pertukaran format file dan format data interchange yang ringan, mudah di baca, dan di tulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari bahasa pemograman Javascript, standar ECMA -262 Edisi ke-3 — Desember 1999. JSON merupakan format text yang tidak bergantung pada bahasa pemograman 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:
- 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).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman modern mendukung struktur data ini dalam bentuk yang sama maupun tidak. Hal ini pantas disebut demikian karena format data mudah diganti dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.
Struktur Data Dasar JSON (JavaScript Object Notation)
1. Objek
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.
2. Larik
Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [kurung kotak buka dan diakhiri dengan ]kurung kotak tutup. Setiap nilai dipisahkan oleh ,koma.
3. Nilai
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.
4. String
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.
5. Angka
Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.
6. Spasi Kosong (whitespace)
Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detil encoding yang secara lengkap dipaparkan oleh bahasa pemprograman yang bersangkutan.
Spasi kosong diperbolehkan dan diabaikan di sekitar atau di antara elemen sintaksis (nilai dan tanda baca, tetapi tidak dalam nilai string). Empat karakter spesifik dianggap spasi kosong untuk tujuan ini : Spasi, tab horizontal, umpan garis, dan carriage return. Secara khusus, tanda urutan byte tidak boleh di buat oleh implementasi yang sesuai (meskipun mungkin diterima saat mengurai JSON). JSON tidak menyediakan sintaks untuk komentar.
Versi awal JSON mensyaratkan bahwa teks JSON yang valid harus terdiri dari hanya satu objek atau jenis larik, yang dapat berisi jenis lain di dalamnya.
Contoh berikut menunjukkan kemungkinan representasi JSON yang menggambarkan seseorang.
{
"firstName" : "John" ,
"lastName" : "Smith" ,
"isAlive" : true ,
"age" : 27 ,
"address" : {
"streetAddress" : "21 2nd Street" ,
"city" : "New York " ,
" state " : " NY " ,
" postalCode " : " 10021-3100 "
},
" phoneNumbers " : [
{
" type " : "rumah" ,
"nomor" : "212 555-1234"
},
{
"type" : "office" ,
"number" : "646 555-4567"
}
],
"children" : [],
"spouse" : null
}
Penerapan JSON (JavaScript Object Notation) dalam Pemrograman
JSON (JavaScript Object Notation) biasanya digunakan sebagai format standar untuk bertukar data antar aplikasi. Tapi sebenarnya tidak hanya itu saja, masih ada fungsi lain dari JSON.
Berikut ini beberapa penerapan JSON (JavaScript Object Notation), yaitu :
- JSON sebagai format untuk bertukar data client dan server atau antar aplikasi.
- JSON sebagai tempat menyimpan data.
- JSON digunakan untuk menyimpan konfigurasi project.
- JSON digunakan untuk menyimpan konfigurasi dan penyimpanan data pada Hugo.
- JSON digunakan untuk menyimpan konfigurasi project pada Nodejs.
- JSON digunakan untuk menyimpan data menifest.
Kegunaan JSON (JavaScript Object Notation)
JSON paling sering digunakan dalam aplikasi web untuk mengirim data dari server ke browser. Biasanya mentransfer data JSON menggunakan Ajax, yang memungkinkan aplikasi web bertukar data dan pesan antara browser dan server tanpa harus memuat ulang halaman.
Sebagai contoh :
- Seorang pengguna mengklik thumbnail produk di toko online.
- JavaScript yang berjalan di browser membuat permintaan Ajax ke skrip PHP yang berjalan di server, memberikan ID produk yang diklik.
- Script PHP mengambil nama produk, deskripsi, harga, dan info lainnya dari database produk, menyandikan data sebagai string JSON, dan mengirim string kembali ke browser.
- JavaScript berjalan di browser decode string JSON dan menampilkan detail produk di halaman untuk pengguna.
Berikut adalah aturan dasar untuk membuat string JSON (JavaScript Object Notation) :
- String JSON berisi array nilai, atau objek (array asosiatif dari pasangan nama / nilai).
- Sebuah array yang dikelilingi oleh kurung, [ dan ], dan berisi daftar dipisahkan koma nilai-nilai.
- Sebuah objek dikelilingi oleh kurung keriting, { dan }, dan berisi daftar dipisahkan koma pasangan nama / nilai.
- Sebuah pasangan nama / nilai terdiri dari nama field (dalam tanda kutip ganda), diikuti oleh titik dua ( : ), diikuti oleh nilai field.
- Sebuah nilai dalam array atau objek dapat :
- Angka ( bilangan bulat atau titik mengambang )
- String ( dalam tanda kutip ganda )
- A boolean ( trueatau false )
- Array lain ( dikelilingi oleh tanda kurung siku, [ dan ])
- Objek lain ( dikelilingi oleh kurung kurawal, { dan })
- Nilai null
Cara Membuka File JSON (JavaScript Object Notation)
Format JSON menyediakan cara untuk mentransfer data antara aplikasi server dan web. File JSON dibuat dengan menggunakan dua struktur yang berbeda, yang mencakup object yang merupakan value pairs dan array yang diklasifikasikan sebagai kumpulan value. Struktur data yang digunakan dalam JSON didesain sebagai bahasa pemograman secara universal yang berarti dapat didukung oleh bermacam browser web.
Jika ingin mengakses file JSON dengan sistem operasi Windows dapat melakukannya dengan notepad atau aplikasi-aplikasi text-editor untuk melihat konten dari file JSON yang adan ingin akses. Lakukan klik kanan pada file yang ingin dibuka dan pilih open with dari menu drop down dan pilih notepad.
Kelebihan dan Kekurangan JSON (JavaScript Object Notation)
Pengertian JSON sebagai format data yang ringan, yang mudah ditulis dan dimengerti dengan bahasa manusia tidak semata-mata menggeser penggunaan XML dalam pentrasnferan data antar browser dan server. Beberapa pertimbangan untuk developer dalam menggunakan JSON dalam pemogramman aplikasi website.
1. Kelebihan JSON (JavaScript Object Notation)
- Kecepatan dalam penguraian yang merupakan proses pengenalan bagian terkecil dari suatu dokumen JSON/XML sehingga membuat kecepatan penguraian pada JSON melampaui XML.
- Kemampuan untuk menyimpan data dalam bentuk array yang memungkinkan transfer menjadi lebih mudah.
- Berdasar pada JavaScript membuat JSON memiliki sintaks yang kecil dan ringan sehingga lebih responsif terhadap request.
- Keunggulan dalam penanganan API untuk aplikasi web ataupun desktop.
- Adanya dukungan untuk bahasa pemograman lain seperti PostgreSQL dan JavaScript.
2. Kelemahan JSON (JavaScript Object Notation)
- Berbeda dengan XML yang memiliki sintaks yang menyerupai HTML, sintaks jason distruktur dan diformat dengan gaya penulisan yang sulit dipahami.
- Bahasa JavaScript rentan terhadap hacking terutama pada website-website yang belum terpercaya.
- Tidak adanya penanganan error pada saat request.
Aplikasi JSON (JavaScript Object Notation)
1. JSON-RPC
merupakan sebuah protokol yang memungkinan untuk melakukan pemanggilan method secara remote ke program lain yang berada di alamat yang berbeda dengan menggunakan JSON sebagai pembungkus pesannya.
- Method – isi data ini bertujuan untuk menentukan method mana yang diminta oleh client untuk di jalankan di server
- Params – merupakan sebuah object array yang berisi parameter dan value untuk kebutuhan method yang akan di panggil di server
- Id – berisi type sembarang yang bertujuan untuk pengecheckan apakah yang request nanti sama dengan yang di kembalikan.
Pesan response dari server:
- Result – merupakan data keluaran dari method yang di panggil di server.
- Error – merupakan pengembilan dari server jika terjadi error saat menjalankan service rpc. Jika tidak ada, maka akan dikembalikan null
- Id – berisi data dari id request yang di minta oleh requestor
Contoh sederhana untuk requst dan response dari JSON-RPC 2.0 menggunakan parameter posisi.
-> { "jsonrpc" : "2.0" , "method" : "subtract" , "params" : [ 42 , 23 ], "id" : 1 }
<- { "jsonrpc" : "2.0" , "hasil " : 19 , " id " : 1 }
2. AJAJ
Ajaj adalah teknik pengembangan web yang menyediakan kemampuan untuk meminta data baru setelah dimuat ke browser web. Biasanya ini merender data baru dari server sebagai tanggapan atas tindakan pengguna di laman web itu.
Kode JavaScript berikut adalah contoh klien yang menggunakan XMLHttpRequest untuk meminta data format JSON dari server ( Pemrograman sisi server dihilangkan; itu harus disiapkan untuk melayani permintaan ke URL berisi string berformat JSON ).
var my_JSON_object ; var http_request = baru XMLHttpRequest (); http_request . open ( "GET" , url , true ); http_request . responseType = "json" ; http_request . onreadystatechange = function () { var done = 4 , ok = 200 ; if ( http_request . readyState === selesai && http_request . status === ok ) { my_JSON_object = http_request . respon ; } }; http_request . kirim ( null );