Bekerja dengan teks JSON biasanya bermuara pada tiga tugas berbeda: membuatnya mudah dibaca, membuatnya ringkas, atau memeriksa apakah teksnya valid. Ini adalah tiga operasi terpisah, meskipun sering digabungkan dalam satu alat.
Memformat (pretty-print)
Memformat menambahkan indentasi, baris baru, dan spasi di sekitar tanda baca agar struktur JSON mudah dibaca dengan mata. Ini adalah perubahan yang murni kosmetik — tidak memengaruhi data, hanya cara tampilannya.
Meminifikasi
Meminifikasi menghapus semua spasi, baris baru, dan indentasi yang tidak perlu, hanya menyisakan karakter yang benar-benar dibutuhkan. Ini mengurangi ukuran berkas, yang penting saat mengirim data lewat jaringan atau menyimpan data dalam jumlah besar — struktur data itu sendiri tidak berubah.
Validasi
Validasi memeriksa apakah teks tersebut JSON yang valid secara sintaks. Kesalahan umum yang terdeteksi: koma berlebih sebelum tanda kurung penutup, tanda kutip tunggal alih-alih ganda, kunci objek tanpa tanda kutip, komentar (yang sama sekali tidak diizinkan dalam standar JSON), atau tanda kurung yang tidak ditutup. JSON yang valid adalah prasyarat agar pemformatan atau minifikasi bisa bekerja sama sekali.
Kapan yang mana dibutuhkan
- Memformat — saat men-debug respons API atau mengedit berkas konfigurasi secara manual.
- Meminifikasi — sebelum mengirim data lewat jaringan atau menyematkannya ke kode produksi.
- Validasi — saat mendiagnosis mengapa parser menolak membaca berkas JSON.
Kenapa angka hasil salin-tempel dari Excel bisa merusak JSON
Berbeda dari bahasa Inggris, format angka Indonesia memakai titik sebagai pemisah ribuan dan koma sebagai pemisah desimal — misalnya "Rp1.000.000,50" — sedangkan JSON hanya mengenal titik desimal dan tidak mengenal pemisah ribuan sama sekali. Menyalin nilai harga langsung dari Excel atau laporan keuangan ke dalam JSON sering menghasilkan angka yang salah dibaca (1.000.000 justru terlihat seperti satu koma dua desimal jika parsernya keliru asumsi) atau, lebih buruk, error sintaks kalau koma ribuan ikut tertulis apa adanya. Karena huruf Latin di Bahasa Indonesia tidak memakai diakritik, isu escaping \uXXXX jarang muncul — justru soal format angka inilah yang lebih sering menjebak.
JSON5 dan JSONC bukan JSON yang sama
Beberapa lingkungan (misalnya konfigurasi VS Code atau TypeScript) menerima trailing comma, komentar, dan kunci tanpa tanda kutip — ini adalah ekstensi JSON5 atau JSONC, bukan JSON standar (RFC 8259). Validator yang diatur untuk JSON ketat akan menolak berkas semacam itu dengan benar, meskipun editor "memahaminya".