Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

JavaScript Lanjutan

Pelajaran 15 dari 22

Error, JSON, dan tanggal

JSON: parse dan stringify

Setelah pelajaran ini kamu bisa mengubah data menjadi teks JSON dan sebaliknya, serta menangani teks yang bukan JSON sah.

±13 menitDiperiksa 28 Sep 2026

Materi

JSON adalah format teks untuk bertukar data antara program: berkas konfigurasi, isi localStorage, dan respons server. JSON.stringify(nilai) mengubah objek atau array menjadi teks JSON, dan JSON.parse(teks) mengubahnya kembali. Argumen ketiga stringify menentukan indentasi, sehingga JSON.stringify(data, null, 2) menghasilkan teks yang mudah dibaca manusia.

Tidak semua nilai JavaScript punya bentuk JSON. Di dalam objek, property bernilai undefined atau fungsi dibuang; di dalam array, keduanya menjadi null. Date ditulis sebagai teks ISO lewat method toJSON miliknya, sehingga setelah di-parse ia kembali sebagai teks, bukan Date. Map dan Set menjadi {}.

const data = { nama: "Joko", lahir: new Date(Date.UTC(1999, 4, 17)), catatan: undefined };
const teks = JSON.stringify(data);
// '{"nama":"Joko","lahir":"1999-05-17T00:00:00.000Z"}'
const balik = JSON.parse(teks);
typeof balik.lahir; // "string"

JSON.parse("{'nama':'Joko'}"); // SyntaxError: kutip tunggal bukan JSON

Aturan JSON lebih ketat daripada objek JavaScript: nama property wajib berkutip ganda, teks wajib berkutip ganda, dan koma sesudah isi terakhir dilarang. Teks yang melanggar aturan itu membuat JSON.parse melempar SyntaxError. Teks dari luar program, seperti isian pengguna atau berkas unggahan, tidak bisa dijamin sah, sehingga pemanggilan parse-nya dibungkus try dan catch.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke