Cara memakai JSON formatter
- Tempel JSON Anda ke kotak input, atau ketik langsung.
- Pilih gaya indentasi: 2 spasi, 4 spasi, atau Tab.
- Klik Format untuk merapikan tampilannya (pretty-print), atau Minify untuk membuang semua spasi kosong yang tidak wajib.
- Jika input tidak valid, validator menampilkan pesan error beserta baris dan kolom tempat parsing gagal.
- Jika perlu, aktifkan Urutkan key untuk mengurutkan key objek menurut abjad, atau konversikan hasilnya ke YAML atau CSV.
- Salin output-nya dan tempelkan di mana pun Anda membutuhkannya.
Semuanya berjalan di browser Anda: JSON Anda tidak pernah diunggah ke server atau disimpan, jadi aman untuk memformat respons API, file konfigurasi, dan log yang berisi data pribadi.
Apa itu JSON dan mengapa perlu diformat?
JSON (JavaScript Object Notation) adalah format data berbasis teks yang ringan dan distandardisasi dalam RFC 8259 dan ECMA-404. Format ini hanya terdiri dari enam jenis nilai: objek ({}), array ([]), string, angka, boolean true dan false, serta null. Kesederhanaan inilah yang membuat hampir setiap REST API, banyak file konfigurasi, dan pipeline log yang tak terhitung jumlahnya memakainya.
Mesin tidak peduli pada spasi kosong, jadi JSON yang dikirim lewat jaringan sering di-minify menjadi satu baris. Cara itu efisien, tetapi hampir mustahil dibaca manusia. Memformat menambahkan jeda baris dan indentasi yang konsisten, sehingga Anda bisa melihat struktur bersarangnya sekilas, menemukan field yang hilang, dan membandingkan dua dokumen dalam diff. Minify melakukan kebalikannya dan berguna saat Anda ingin menyisipkan JSON ke dalam request atau memperkecil ukuran payload.
Error JSON yang umum dan cara memperbaikinya
JSON lebih ketat daripada literal objek JavaScript. Inilah kesalahan yang paling sering ditemukan validator:
| Masalah | Tidak valid | Valid |
|---|---|---|
| Koma di akhir (trailing comma) | [1, 2, 3,] | [1, 2, 3] |
| Tanda kutip tunggal | {'name': 'Ada'} | {"name": "Ada"} |
| Key tanpa tanda kutip | {name: "Ada"} | {"name": "Ada"} |
| Komentar | // note atau /* note */ | Hapus komentarnya, atau gunakan field "_comment" |
| Nilai non-JSON | undefined, NaN, Infinity | null atau string |
| Angka nol di depan | {"id": 007} | {"id": 7} atau "007" |
Contoh khas potongan JSON rusak yang disalin dari kode JavaScript terlihat seperti ini:
{
name: 'Ada Lovelace',
born: 1815, // year
languages: ['English', 'French',],
}
JSON yang sudah diperbaiki memberi tanda kutip ganda pada setiap key dan string, membuang komentarnya, dan menghapus kedua koma di akhir:
{
"name": "Ada Lovelace",
"born": 1815,
"languages": ["English", "French"]
}
Penyebab umum lainnya adalah tanda kutip ganda yang tidak di-escape atau jeda baris mentah di dalam string (gunakan \" dan \n), serta karakter nyasar setelah kurung penutup. Jika posisi yang dilaporkan tampak keliru, periksa baris tepat di atasnya: koma yang hilang biasanya baru terdeteksi saat parser mencapai nilai berikutnya.
Tips dan praktik terbaik
- Pilih satu indentasi dan pertahankan. Dua spasi adalah konvensi paling umum di proyek JavaScript; empat spasi umum di tooling Python. Konsistensi lebih penting daripada pilihannya.
- Urutkan key sebelum membuat diff. Objek JSON tidak berurutan, jadi dua dokumen yang setara bisa terlihat berbeda. Mengurutkan key membuat diff version control dan perbandingan jauh lebih rapi.
- Waspadai angka yang sangat besar. JavaScript menyimpan angka sebagai floating point 64-bit, jadi bilangan bulat yang lebih besar dari 9.007.199.254.740.991 (253 − 1) bisa kehilangan presisi saat di-parse di browser. Kirim ID besar sebagai string.
- Gunakan UTF-8. RFC 8259 mewajibkan UTF-8 untuk JSON yang dipertukarkan antarsistem.
- Konversikan bila membantu. CSV cocok untuk array objek datar yang ingin Anda buka di spreadsheet; YAML lebih mudah diedit manual. Untuk konversi dua arah, coba konverter JSON ↔ YAML atau konverter CSV ↔ JSON.
Pertanyaan yang sering diajukan
Apakah JSON boleh berisi komentar?
Tidak. Baik RFC 8259 maupun ECMA-404 tidak mengizinkan komentar. Beberapa alat menerima format turunan seperti JSONC atau JSON5, tetapi parser standar akan menolaknya. Hapus komentar sebelum memvalidasi, atau pindahkan catatan ke field biasa.
Mengapa JSON saya tidak valid padahal berfungsi di JavaScript?
Literal objek JavaScript mengizinkan tanda kutip tunggal, key tanpa tanda kutip, koma di akhir, komentar, dan nilai seperti undefined. JSON tidak mengizinkan satu pun dari itu. Gunakan JSON.stringify() di kode untuk menghasilkan JSON yang valid, alih-alih menulisnya secara manual.
Apakah memformat mengubah data saya?
Memformat dan minify hanya mengubah spasi kosong di antara token; key, nilai, dan urutan array tetap sama. Mengurutkan key mengubah urutan anggota objek, tetapi tidak mengubah maknanya karena objek JSON memang tidak berurutan.
Apa beda memformat dan memvalidasi?
Memvalidasi memeriksa apakah teks tersebut JSON yang benar secara sintaksis. Memformat mencetak ulang JSON yang valid dengan indentasi yang mudah dibaca. Formatter memvalidasi lebih dulu, jadi Anda tidak bisa memformat dokumen yang gagal di-parse.
Bisakah saya mengonversi JSON bersarang ke CSV?
CSV adalah tabel datar, jadi paling cocok untuk array objek yang memiliki key yang sama. Objek dan array bersarang tidak punya padanan langsung di CSV dan biasanya diratakan (flatten) atau diserialisasi ke dalam satu sel.
Diperbarui