TIF82 JSON TEAM DOSEN Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016
Apa itu JSON? JSON: JavaScript Object Notation File atau data berbasis Text biasa JSON merupakan sintak yang digunakan untuk menyimpan dan saling bertukar informasi, seperti halnya XML (XML Alternative) JSON lebih kecil ukurannya dibanding XML, lebih mudah dibaca dan lebih cepat di olah JSON merupakan bahasa yang independent JSON didasarkan pada sintak dari Object di Javascript
XML vs JSON Kesamaan/kemiripan JSON dengan XML Sama-sama text biasa (plaintext) Bisa dibaca dan mendeskripsikan dirinya sendiri Susunan (hirarki) yang terstruktur Dapat di olah berbagai bahasa pemrograman Dapat di transmisikan melalui AJAX Perbedaan JSON tidak ada End Tag Dengan data yang sama, ukuran JSON lebih kecil Pada umumnya lebih cepat dibaca dan tulis Dapat di parsing dengan fungsi javascript eval() Menggunakan Array Tidak ada kata-kata cadangan (reserved words)
Mengapa JSON? Bukankah sudah ada XML? Kenapa? Untuk aplikasi AJAX, JSON relatif lebih cepat dan mudah Langsung bisa diolah dengan Javascript, baik dengan eval() maupun dengan fungsi lainnya semisal JSON Relatif mudah dan cepat dihasilkan dan diolah Lebih mudah dibaca manusia Lebih singkat dan kecil ukurannya
Sejarah Singkat JSON Pertama kali digunakan di State Software Inc. oleh Douglas Crockford (2001) Siapa Douglas Crockforf? Salah satu programmer yang mempopulerkan Javascript & JSON Senior Arsitek Javascript di Paypal Salah satu Pengembanng YUI (Yahoo User Interface Library) Penulis berbagai library Javascript juga Pembicara Website JSON.org dibuat tahun 2002 Desember 2005, Yahoo mulai menawarkan Web Service berbasis JSON Desember 2006 Google mulai menawarkan Web Service dalam JSON
Tipe Data dalam JSON Tipe data dasar JSON adalah 1. Number ( Integer atau Floating point) 2. String ( dengan tanda petik ganda "String" dengan backslash escaping misalnya \" ) 3. Boolean ( true atau false) 4. Array ( urutan nilai dipisahkan dengan koma, diletakkan dalam kurung kotak [..], nilai-nya tidak harus sama ) 5. Object ( koleksi key:value yang tidak tergantung urutan, key adalah string dengan tanda petik ganda, dan harus unik sedangkan nilai bisa tipe data apa saja setiap key:value, dipisahkan dengan tanda koma) 6. null (empty kosong)
{ "firstname": "John", "lastname": "Smith", "age": 25, "address": { "streetaddress": "21 2nd Street", Contoh JSON }, "city": "New York", "state": "NY", "postalcode": 10021 "phonenumbers": [ { "type": "home", "number": "212 555-1234" }, {
contoh Buatlah data json untuk menyimpan data employee
JSON Object Object didalam JSON dituliskan dalam tana kurung kurawal { } Object bisa berisi banyak data ( key:values), dan tiap data dipisahkan dengan tanda koma Contoh : {"nama":"sugeng Riyadi","umur":45} atau bisa dituliskan : { "nama": "Sugeng Riyadi", "umur": 45 } Value bisa berisi tipe data apa saja ( string, number, array, object dan lainya)
JSON Arrays Array dituliskan didalam tanda kurung tegak [ ] Dalam array dapat berisi banyak data, contoh: "anggota": [ {"nama": "Agus","umur": 39}, {"nama": "Joni","umur": 45}, {"jumlah":2}, "Group A", 2012 ] Anggota bisa diakses dengan notasi array, misalnya anggota[0] = nilai array pertama, dst Nilai dari array bisa berbeda-beda, misalnya object, number, string, array dan lainnya.
JSON Parser Parser adalah istilah untuk mengolah atau membaca data sehingga bisa digunakan. Karena JSON sebenarnya seperti Object di javascript, maka mengolah dengan Javascript sangat mudah var p = eval("(" + json+ ")"); atau var p = JSON.parse(json); Setelah itu, variabel p bisa diakses seperti hanya object di javascript. Meskipun bisa diolah dengan eval, tetapi ini tidak direkomendasikan karena masalah keamanan. Sehingga sebaiknya menggunakan JSON, atau fungsi lain bawaan browser.
Browser Support Mengolah JSON dengan fungsi JSON di javascript lebih cepat daripada fungsi eval(). JSON parser tersedia di web browser sejak Firefox (Mozilla) 3.5 Internet Explorer 8 Chrome Opera 10 Safari 4 JSON parser juga menjadi fungsi bawaan di berbagai bahasa pemrograman, seperti PHP ( json_encode dan json_decode), dan lainnya. Selengkapnya bisa membuka situs www.json.org
Contoh Implementasi dg Javascript var my_json_object = {}; var http_request = new XMLHttpRequest(); http_request.open("get", url, true); http_request.onreadystatechange = function () { var done = 4, ok = 200; if (http_request.readystate == done && http_request.status == ok) { my_json_object = JSON.parse(http_request.responseText); } }; http_request.send(null);
JSON Schema JSON Schema merupakan spesifikasi untuk mendefinisikan struktur sebuah data JSON Schema ini juga merupakan dokumen/data dalam format JSON Digunakan untuk menyediakan validasi, dokumentasi dan interaksi data JSON Dibuat berdasarkan konsep XML Schema, RelaxNG (REgular LAnguage for XML Next Generation) dan sejenisnya. Sampai saat ini masih sebagai Internet-Draft, terakhir sudah versi 4 ( Januari 2013) Sintak JSON bisa di validasi dengan berbagai tools, termasuk yang tersedia di internet, misalnya : http://jsonlint.com/