JSON itu Apa Sih? dan Apa Gunanya dalam Pemrograman?
Bagi yang baru mendengar JSON, mungkin akan bertanya:
“JSON itu apa sih? dan apa gunanya dalam pemrograman? lalu cara menggunakannya bagaimana?”
Saya juga demikian.
Pada awalnya saya belum paham, apa itu JSON dan bagaimana peranannya dalam dunia pemrograman.
Tapi setelah melewati berbagai macam eksperimen, akhirnya bisa paham.
Apapun bahasa pemrograman yang akan kamu gunakan…
…wajib hukumnya memahami JSON.
Karena JSON banyak digunakan dalam membuat aplikasi dan digunakan di hampir semua bahasa pemrograman.
Pada kesempatan ini, kita akan membahas dasar-dasar JSON yang harus kamu ketahui.
Cukup ketahui 5 hal ini saja:
Apa itu JSON?
Kita mulai dari pengertian JSON dulu…
JSON (JavaScript Object Notation) adalah sebuah format data yang digunakan untuk pertukaran dan penyimpanan data.1
Kata kunci yang perlu diingat: “pertukaran & penyimpanan data”
JSON merupakan bagian (subset) dari Javascript. JSON bisa dibaca dengan berbagai macam bahasa pemrograman seperti C, C++, C#, Java, Javascript Perl, Python, dan banyak lagi.
Hal ini membuat JSON menjadi bahasa yang ideal untuk pertukaran data antar aplikasi.
JSON bahkan mendominasi pendahulunya si XML (eXtensible Markup Language)…
Kalau dibandingkan dengan XML, JSON lebih sederhana dan mudah dibaca.
Oleh sebab itu, lebih banyak yang menggunakan JSON daripada XML.
Berikut ini grafik penggunaan JSON dibandingkan dengan XML, YAML, CSV, dan protocol-buffers.
Sejarah Singkat JSON
JSON pertama kali dipopulerkan oleh Douglas Crockford. Seorang software engineer yang juga terlibat dalam pengembangan bahasa pemrograman Javascript.2
JSON tidak ditemukan oleh satu orang saja. Dulu namanya belum JSON…
Artinya kata “JSON” belum ada. Orang-orang hanya mengenal Objek Javascript yang dikirim melalui jaringan.
Sejak meledaknya teknologi AJAX pada tahun 2000. JSON mulai diperkenalkan dan pada tahun 2001, domain json.org mulai mengudara.
Hingga saat ini JSON banyak digunakan di mana-mana.
Penerapan JSON dalam Pemrograman
JSON 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 yang pernah saya temui:
- JSON sebagai format untuk bertukar data client dan server atau antar aplikasi. Contoh: RESTful API;
- JSON sebagai tempat menyimpan data, contoh: Database Mongodb;
- JSON digunakan untuk menyimpan konfigurasi project, contoh: file composer.json pada project PHP dan package.json pada Nodejs;
- JSON digunakan untuk menyimpan konfigurasi dan penyimpanan data pada Hugo;
- JSON digunakan untuk menyimpan konfigurasi project pada Nodejs;
- JSON digunakan untuk menyimpan data manifest;
- dan masih banyak lagi.
Struktur Dasar JSON
Coba perhatikan struktur JSON ini.
Ini adalah struktur paling sederhana…
JSON selalu dimulai dengan tanda kurung kurawal {
dan ditutup dengan kurung }
.
Lalu di dalam kurung kurawal, berisi data yang format key dan value. Jika terdapat lebih dari satu data, maka dipisah dengan tanda koma dan di data terakhir tidak diberikan koma.
Lalu key dan value dipisah dengan titik dua.
Oh iya, untuk value…
Kita bisa memberikan tipe data apa pun. Bahkan juga bisa kita isi dengan array dan objek.
Berikut ini tipe data yang didukung oleh JSON.
Nah untuk array, ia dibuat dengan tanda kurung siku [...]
.
Contohnya seperti ini:
{
"name": "Dian",
"hobbies": ["Coding", "Blogging", "Drawing"]
}
…dan untuk objek contohnya seperti ini:
{
"name": "petanikode",
"url": "https://www.petanikdoe.com",
"rank": 1,
"socialmedia": {
"facebook": "petanikode",
"twitter": "petanikode",
"instagram": "petanikode",
"youtube": "petanikode",
"github": "petanikode"
}
}
Perhatikan pada key socialmedia
di sana kita
memberikan nilainya dengan objek.
Cara Produksi dan Konsumsi Data JSON
Setiap bahasa pemrograman memiliki cara yang berbeda-beda untuk memproduksi (membuat) dan mengonsumsi data JSON.
Pada Javascript, kita bisa gunakan fungsi JSON.stringify()
untuk membuat JSON dari objek Javascript.
Contoh:
// objek javascript
var person = {
name: "Dian",
age: 23
}
// string JSON
var jsonString = JSON.stringify(person);
// maka akan menghasilkan:
// {"name":"Dian","age":23}
Pada Java, kita bisa menggunakan library Gson untuk melakukan serialisasi (membuat) dan deserialisasi data JSON.
Pada
bahasa pemrograman Python, kita dapat menggunakan
modul json
untuk membuat dan membaca (konsumsi) data JSON.
Contoh:
>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> print json.dumps("\"foo\bar")
"\"foo\bar"
>>> print json.dumps(u'\u1234')
"\u1234"
>>> print json.dumps('\\')
"\\"
>>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
{"a": 0, "b": 0, "c": 0}
>>> from StringIO import StringIO
>>> io = StringIO()
>>> json.dump(['streaming API'], io)
>>> io.getvalue()
'["streaming API"]'
Contoh lagi:
import json
# dictionary
person = {
"name": "Dian",
"age": 23
}
# Membuat JSON dari dictionary
json.dumps(person)
# Maka akan menghasilkan:
# '{"age": 23, "name": "Dian"}'
Pada bahasa pemrograman PHP, kita bisa menggunakan
fungsi json_encode()
untuk menghasilkan JSON
dari Array asosiatif dan fungsi json_decode()
untuk mengubah JSON menjadi Array.
Contoh:
<?php
// data dengan array asosiatif
$person = [
"name" => "Dian",
"age" => 23
];
// membuat JSON dari array
echo json_encode($person);
// maka akan menghasilkan:
// {"name":"Dian","age":23}
?>
Intinya, setiap bahasa pemrograman memiliki fungsi, modul, dan library tersendiri untuk membuat dan membaca data JSON.
Berikut ini daftar tutorial yang bisa kamu baca:
- Cara Serialisasi dan Deserialisasi data JSON di Java dengan menggunakan GSON
- Cara Parsing data JSON di Python
- Cara Parsing data JSON di PHP
- Cara Parsing data JSON di Javascript.
Apa Selanjutnya?
Sekarang kita sudah kenal, apa itu JSON dan bagaimana penggunaannya dalam pemrograman.
Tentu ini masih belum cukup…
Karena itu, silakan lanjutkan belajar tentang JSON secara mandiri melalui dokumentasi resmi ataupun tutorial di sini.