← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 25

JSON: stringify dan parse

Konversi objek↔string dengan replacer dan reviver.

Pahami konsepnya

JSON.stringify(obj) mengubah objek JavaScript menjadi string JSON; JSON.parse(teks) mengubah balik. Kombinasi ini juga cara cepat deep-clone sederhana: JSON.parse(JSON.stringify(obj)) — kehilangan function, undefined, symbol, dan Date berubah jadi string.

Replacer (parameter kedua stringify) memfilter atau mengubah: JSON.stringify(obj, ["nama","umur"]) hanya menyertakan properti tersebut. Atau fungsi: (kunci, nilai) => kunci === "sandi" ? "***" : nilai.

Reviver (parameter kedua parse) mengubah saat membaca: JSON.parse(teks, (k, v) => k === "tanggal" ? new Date(v) : v) mengembalikan Date object dari string ISO.

JSON.stringify dengan indent: stringify(obj, null, 2) menghasilkan format rapi dengan indentasi 2 spasi.

Coba contoh kode

const data = {
  nama: "Ari",
  umur: 17,
  sandi: "rahasia",
  hobi: ["coding", "game"],
};

// stringify dengan replacer (sensor sandi)
const teks = JSON.stringify(data, (k, v) =>
  k === "sandi" ? "***" : v
);
console.log(teks);

// parse dengan reviver
const balik = JSON.parse('{"nama":"Budi","tanggal":"2026-01-15"}',
  (k, v) => k === "tanggal" ? new Date(v) : v
);
console.log(balik.tanggal.getFullYear());  // 2026

// format rapi
console.log(JSON.stringify(data, null, 2));

Replacer (k, v) => mengganti sandi dengan "***" saat serialisasi. Reviver mengubah string tanggal kembali menjadi Date object saat parse. Indent 2 menghasilkan JSON terbaca manusia.

Latihan singkat

Uji: stringify {nama:"Ari",umur:17} → parse → .umur, harus `17`.