Intorduksi

JavaScript Object Notation adalah format pertukaran dan penyimpanan data berdasarkan syntax javascript. JSON adalah bagian javascript, tapi javascript bukanlah JSON.

JSON bisa jalan gak hanya di javascript. Di bahasa lain juga bisa. JSON teh suksesornya XML, tapi karena formatnya gak ribet, mudah dibaca, dan ringan, JSON sekarang lebih dipilih daripada XML.

Karena saya lagi belajar javascript, maka saya bakal fokus ngebahas JSON dalam javascript aja.

$intak$

Penulisan JSON hampir mirip kayak nulis object di javascript. Bedanya:

  1. Diawali dengan kurung kurawal buka { dan diakhiri dengan kurung kurawal tutup }.
  2. Nama properti (key) dan isinya (value) harus diapit petik dua ". Kecuali value untuk array [] dan object {}.
  3. Penulisan 0 di awal tidak diperbolehkan. Angka desimal minimal punya satu angka dibelakang koma.
  4. Tidak mendukung Nan dan Infinity.

Contoh:

{
  "name"        : "Red Velvet",
  "origin"      : "South Korea"
  "active"      : 2014, 
  "member"      : ["Irene", "Wendy", "Joy", "Seulgi", "Yeri"],
  "genre"       : "k-pop",
  "label"       : "SM Entertainment",
  "discography" :
    {
      "album"   : ["The Red", "Perfect Velvet"],
      "reissue" : ["The Perfect Red Velvet", "The ReVe Festival: Finale"],
      "EP"      : ["Ice Cream Cake", "The Velver", "Russian Roulette", "Rookie"]
    }
}

JSON diatas bisa disimpan di file terpisah dengan ekstensi .json, kalau gak dipisah juga ya gapapa, sesuai kebutuhan aja.

Method

Dalam javascript, JSON merupakan salah satu standard built-in objects. Ada dua method yang tersedia pada objek JSON.

  1. parse()
  2. stringify()

JSON.parse()

Ketika menerima data dari web server, data yang dikirimkan itu berupa text JSON bertipe data string. JSON.parse() merubah string tersebut menjadi objek javascript.

Misal, saya punya variabel dengan isi string json,

const json = '{ "name":"Tom DeLonge", "age":44, "occupation":"Musician"}';

Lalu saya parse dengan JSON.parse() untuk menjadikannya objek,

const person = JSON.parse(json);

console.log(person);
console.log(typeof person);
// {name: "Tom DeLonge", age: 44, occupation: "Musician"}
// object

Kan kalau udah jadi objek enak tuh dimain-maininnya.

JSON.stringify()

Nah, kalau ini kebalikannya. Mengubah object javascript menjadi JSON string.

Mari, saya balikin itu objek person jadi JSON string,

const person = {
  name       : "Tom DeLonge",
  age        : 44,
  occupation : "Musician"
}

const json = JSON.stringify(person);

console.log(json);
console.log(typeof json);
// {"name":"Tom DeLonge","age":44,"occupation":"Musician"}
// string