JSON .stringify()
Penggunaan umum JSON adalah untuk bertukar data ke/dari server web.
Saat mengirim data ke server web, data harus berupa string.
Ubah objek JavaScript menjadi string dengan JSON.stringify()
.
Merangkai Objek JavaScript
Bayangkan kita memiliki objek ini di JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
Gunakan fungsi JavaScript JSON.stringify()
untuk mengubahnya menjadi string.
const myJSON = JSON.stringify(obj);
Hasilnya akan menjadi string yang mengikuti notasi JSON.
myJSON
sekarang menjadi string, dan siap dikirim ke server:
Contoh
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
Anda akan mempelajari cara mengirim JSON ke server di bab berikutnya.
Merangkai Array JavaScript
Dimungkinkan juga untuk merangkai array JavaScript:
Bayangkan kita memiliki array ini dalam JavaScript:
const arr = ["John", "Peter", "Sally", "Jane"];
Gunakan fungsi JavaScript JSON.stringify()
untuk mengubahnya menjadi string.
const myJSON = JSON.stringify(arr);
Hasilnya akan menjadi string yang mengikuti notasi JSON.
myJSON
sekarang menjadi string, dan siap dikirim ke server:
Contoh
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
Anda akan mempelajari cara mengirim string JSON ke server di bab berikutnya.
Menyimpan Data
Saat menyimpan data, data harus dalam format tertentu, dan di mana pun Anda memilih untuk menyimpannya, teks selalu menjadi salah satu format legal.
JSON memungkinkan untuk menyimpan objek JavaScript sebagai teks.
Contoh
Menyimpan data di penyimpanan lokal
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Pengecualian
Merangkai Tanggal
Di JSON, objek tanggal tidak diperbolehkan. Fungsi JSON.stringify()
ini akan mengonversi tanggal apa pun menjadi string.
Contoh
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Anda dapat mengubah string kembali menjadi objek tanggal di penerima.
Fungsi Stringify
Di JSON, fungsi tidak diperbolehkan sebagai nilai objek.
Fungsi JSON.stringify()
akan menghapus fungsi apa pun dari objek JavaScript, baik kunci maupun nilainya:
Contoh
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Ini dapat dihilangkan jika Anda mengubah fungsi menjadi string sebelum menjalankan JSON.stringify()
fungsi.
Contoh
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Jika Anda mengirim fungsi menggunakan JSON, fungsi tersebut akan kehilangan cakupannya, dan penerima harus menggunakan eval() untuk mengubahnya kembali menjadi fungsi.