Terakhir diperbaharui: Oct 24, 2020
JSON
Ketika browser mengirim data ke server, data tersebut dikirim dalam format tertentu.
Salah satu format data yang banyak digunakan untuk transfer data antara browser dan server adalah JSON.
JSON adalah singkatan dari JavaScript Object Notation, pada dasarnya JSON hanya sebuah text yang memiliki format/syntax sebagai berikut.
1{2 "key" : "value"3}
Contoh:
1{2 "name" : "brachio",3 "weight" : 150,4 "height" : 1.55}
Sekilas syntax dari JSON mirip dengan JavaScript Object namun memiliki perbedaan yaitu key-value JSON harus berupa string yang menggunakan double quote.
Perbedaan JSON dan JavaScript Object:
JSON
1{2 "name" : "brachio",3 "weight" : 150,4 "height" : 1.55}
JavaScript Object
1{2 name : "brachio",3 weight : 150,4 height : 1.55}
Convert JSON
Mengubah/convert JavaScript Object ke JSON dan sebaliknya.
Object to JSON menggunakan JSON.stringify().
1const blueDino = {2 age: 150,3 height: '1.5 m',4 weight: '500 kg'5};67const jsonDino = JSON.stringify(blueDino);89console.log(jsonDino); // {"age":150,"height":"1.5 m","weight":"500 kg"}
JSON to Object menggunakan JSON.parse()
1const jsonDino = `{2 "age": "150",3 "height": "1.5 m",4 "weight": "500 kg"5}`;67const blueDino = JSON.parse(jsonDino);89console.log(blueDino); // { age: '150', height: '1.5 m', weight: '500 kg' }
Tipe Data JSON
Data JSON dapat berupa String, Number, Nested Object, Array, Boolean.
1{2 "name" : "brachio",3 "weight" : 150,4 "height" : 1.5,5 "address" : {6 "street": "Jalan Lama",7 "block" : "K"8 "number" : 209 "city" : "Jakarta",10 },11 "hoby" : [ "football", "swimming", "tennis" ],12 "single" : true13}
Namun data JSON tidak dapat berupa function atau date.
1{2 "name" : function() { console.log('Brachio') } // error3}