13
J S O N
Sebuah format data yang digunakan untuk pertukaran dan penyimpanan data.
Merupakan bagian (subset) dari Javascript. JSON bisa dibaca dengan berbagai
macam bahasa pemrograman seperti C, C++, C#, Java, Javascript Perl, Python, dan
banyak lagi.
Representasi data terstruktur berbasis teks tanpa skema yang didasarkan pada
key-value pair dan daftar terurut.
Dipopulerkan oleh Douglas Crockford.
Menggunakan ekstensi .json saat ia berdiri sendiri. Saat didefinisikan di dalam
format file lain (seperti di dalam .html), ia dapat tampil didalam tanda petik
sebagai JSON string, atau ia dapat dimasukkan kedalam sebuah variabel. Format
ini sangat mudah untuk ditransfer antar server web dengan klien atau browser.
Karena sangat mudah dibaca dan ringan, JSON memberikan alternatif lebih baik
dari XML dan membutuhkan formating yang tidak banyak.
Hal ini membuat JSON menjadi bahasa yang ideal untuk perturakan data antar
aplikasi.
J S O N
Kalau dibandingkan dengan XML, JSON lebih sederhana dan mudah dibaca.
Pertamakali dipopulerkan oleh Douglas Crockford. Seorang software
engineer yang juga terlibat dalam pengembangan bahasa pemrograman
Javascript.
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.
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 bisa kita 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 menifest;
dan masih banyak lagi.
Ini adalah struktur paling sederhana.
JSON terbuat dari dua struktur:
Objek : didefinisikan dengan tanda kurung kurawal ({})
Array : didefinisikan dengan tanda kurung siku ([])
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.
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.
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.
Number (Angka) adalah sangat mirip
dengan angka di C atau Java, kecuali
format oktal dan heksadesimal tidak
digunakan.
Spasi kosong (whitespace) dapat
disisipkan di antara pasangan
tanda-tanda tersebut, kecuali
beberapa detil encoding yang
secara lengkap dipaparkan oleh
bahasa pemprograman yang
bersangkutan.
Untuk array, dibuat dengan tanda kurung siku [...].
Contohnya :
{
"name“:“Purwoto Sutan Mangkuto",
"hobbies": ["Coding", "Blogging", "Drawing“,”Sport”,”Reading”]
}
Untuk objek, Contohnya sebagai berikut :
{
"name": “wismakoding",
"url": "https://www.wismakoding.com",
"rank": 1,
"socialmedia": {
"facebook": "wismakoding",
"twitter": "wismakoding",
"instagram": "wismakoding",
"youtube": "wismakoding",
"github": "wismakoding"
}
}
Perhatikan pada key socialmedia di sana kita memberikan nilainya dengan objek.
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.
Contohnya :
<?php
Jika kita memiliki suatu data JSON dalam bentuk string, lalu kita akan membacanya
dalam PHP, bagaimana caranya?
Caranya adalah : menggunakan fungsi bawaan PHP bernama json_decode.
<?php
$mahasiswa = [
'nama' => 'Hafidh Purwo Adiyatma',
'domisili' => 'Pancoran Mas Depok'
];
echo json_encode($mahasiswa);
?>
Contoh untuk Array terindeks :
<?php
$nilaiUjian = [70, 80, 50, 90];
echo json_encode($nilaiUjian);
?>
Hasilnya :
Misalkan kita memiliki string JSON sebagai berikut :
<?php
$listMahasiswaJSON = '[
{ "nama": "Hafidh Purwo Adiyatma" },
{ "nama": "Rakha Purwo Arkhananta" },
{ "nama": "Khalisha Hibatillah Purwoto" },
{ "nama": "Novi Akhrianti" }
]';
?>
Lalu kita ingin menampilkan nama dari setiap data di atas. Caranya sangat sederhana
sekali :
Kita parsing dulu JSON tersebut ke dalam array PHP.
Lalu lakukan perulangan dengan foreach atau metode perulangan yang lainnya.
Perhatikan contoh berikut : Hasilnya :
<?php
$listMahasiswaJSON = '[
{ "nama": "Hafidh Purwo Adiyatma" },
{ "nama": "Rakha Purwo Arkhananta" },
{ "nama": "Khalisha Hibatillah Purwoto" },
{ "nama": "Novi Akhrianti" }
]';
$listMahasiswa = json_decode($listMahasiswaJSON);
foreach ($listMahasiswa as $key => $mahasiswa) {
echo "{$key}. Nama: {$mahasiswa->nama} <br>";
}
?>
Buat file dengan nama peserta.json, dengan sourcecode sebagai berikut :
[ {"nama":"Khalisha Hibatillah Purwoto",
{"nama":"Hafidh Purwo Adiyatma", "alamat":"Jalan Raya Sawangan Depok",
"alamat":"Jalan Pitara Raya Depok", "kecamatan":"Sawangan",
"kecamatan":"Pancoran Mas", "tgl_daftar":"Juni 29,2021"
"tgl_daftar":"Juni 22,2021" },
}, {"nama":"Novi Arkhrianti",
{"nama":"Rakha Purwo Arkhananta", "alamat":"Jalan Raya Margonda Depok",
"alamat":"Jalan Raya Nusantara Depok", "kecamatan":"Beji",
"kecamatan":"Pancoran Mas", "tgl_daftar":"Mei 15,2021"
"tgl_daftar":"Mei 26,2021" }
}, ]
Membuat Parsing PHP dengan Sourcode Berikut :
<?php // Membaca data array menggunakan foreach
// File json yang akan dibaca (full path file) foreach($data as $peserta) {
$file = "peserta.json"; echo 'Nama :'.$peserta['nama'].'<br>';
echo 'Alamat :'.$peserta['alamat'].'<br>';
// Mendapatkan file json echo 'Kecamatan :'.$peserta['kecamatan'].'<br>';
$getdata = file_get_contents($file); echo 'Tgl. Daftar :'.$peserta['tgl_daftar'].'<br>';
echo '<hr>';
//mengubah data json menjadi data array }
$data = json_decode($getdata, true); ?>
CREATE
Membuat File JSON, Sourcode Berikut (createjson.php):
<?php // Mengencode data menjadi json
// Data 1 $jsonfile = json_encode($data, JSON_PRETTY_PRINT);
$data [] = array(
'kobar' => 'KB-001', // Menyimpan data ke dalam barang.json
'nabar' => 'Pencil 2B', file_put_contents('barang.json', $jsonfile);
'harga' => 4500, ?>
'stok' => 45,
'satuan' => 'Pcs'
); Jika pada saat kita running browser tidak muncul error maka
// Data 2 dalam folder aplikasi kita muncul file baru bernama
$data [] = array( barang.json, maka kita telah berhasil membuat sebuah JSON
'kobar' => 'KB-002', menggunakan PHP.
'nabar' => 'Penghapus',
'harga' => 2500,
'stok' => 15,
'satuan' => 'Pcs'
);
CREATE
CREATE
Penjelasan :
// Mendecode barang.json
$data = json_decode($barang, true);
// Mendecode barang.json
$data = json_decode($barang, true);
Kode Barang KB-002 menunjukkan data kode berapa yang akan kita perbarui
$key pada kode $data[$key][‘nabar'] = ‘Tip-Ex'; merupakan index array data yang
akan kita perbarui.
DELETE
Menghapus data di File JSON, Sourcode Berikut (deletejson.php):
<?php // Mengencode data menjadi json
// File json yang akan dibaca $jsonfile = json_encode($data, JSON_PRETTY_PRINT);
$file = "barang.json";
// Menyimpan data ke dalam anggota.json
// Mendapatkan file json $barang = file_put_contents($file, $jsonfile);
$barang = file_get_contents($file); ?>
// Mendecode anggota.json
$data = json_decode($barang, true);