Pemformat JSON

Format atau perkecil JSON dan lihat persis di mana masukan tak valid rusak.

Indentasi
Masukan
Keluaran

Keluaran akan muncul di sini

Apa yang dilakukan pemformat JSON ini

JSON (JavaScript Object Notation) adalah format paling umum untuk memindahkan data terstruktur antar program — respons API, berkas konfigurasi, baris log, dan lainnya. Ia dirancang agar ringkas, yang juga membuatnya sulit dibaca begitu objek bersarang beberapa tingkat atau datang dalam satu baris. Alat ini mengambil JSON apa pun yang Anda tempel dan menulisnya ulang dengan dua cara: dipercantik, dengan indentasi konsisten sehingga strukturnya jelas sekilas, atau diperkecil, dilucuti dari setiap spasi opsional agar sekecil mungkin untuk dikirim melalui kawat.

Ia juga memvalidasi saat memformat. Karena ia mengurai teksnya sebelum menserialkan ulang, JSON tak valid tak pernah menghasilkan keluaran yang menyesatkan — sebagai gantinya Anda mendapatkan baris dan kolom persis tempat penguraian gagal, jadi Anda bisa langsung menuju masalahnya.

Percantik vs. perkecil — kapan memakai masing-masing

Kedua mode melayani tujuan yang berlawanan, dan kebanyakan alur kerja memakai keduanya pada tahap berbeda:

  • Percantik ketika Anda membaca atau men-debug — memeriksa respons API, membandingkan dua payload, atau meninjau berkas konfigurasi dalam sebuah pull request. Indentasi mengubah dinding teks menjadi pohon yang bisa dijelajahi.
  • Perkecil ketika Anda mengirim — menyematkan JSON dalam HTML, menyimpannya dalam kuki atau tembolok, atau mengirimnya dalam badan permintaan tempat setiap bita berarti. JSON yang diperkecil adalah data yang setara bita demi bita, hanya tanpa spasi.

Pemilih indentasi (2 spasi, 4 spasi, atau tab) hanya memengaruhi keluaran yang dipercantik. Dua spasi adalah konvensi paling umum dalam JavaScript dan perkakas web; empat spasi atau tab cocok bagi tim yang menyukainya. Yang mana pun Anda pilih, hasilnya tetap JSON yang valid — indentasi murni kosmetik.

Membaca galat validasi

Ketika JSON tak valid, alat ini melaporkan baris dan kolom masalah pertama alih-alih pesan "tak valid" yang samar. Pesan galat mesin berbeda antar browser dan sering menghilangkan posisi, jadi lokasinya dihitung secara mandiri dan menunjuk tempat yang masuk akal untuk mulai mencari. Perbaiki galat pertama lalu periksa ulang — satu karakter tersasar sering beruntun menjadi beberapa masalah yang tampak.

Kesalahan JSON yang umum

JSON lebih ketat daripada literal objek JavaScript yang menyerupainya. Inilah galat yang paling sering menjebak orang:

  • Koma di ujung: sebuah koma setelah item terakhir dalam objek atau larik valid di JavaScript tetapi tidak di JSON.
  • Kutip tunggal: string dan kunci JSON harus memakai kutip ganda. 'value' tak valid; "value" benar.
  • Kunci tanpa kutip: setiap kunci objek harus berupa string berkutip, jadi { name: "x" } harus menjadi { "name": "x" }.
  • Komentar: JSON tak punya sintaksis komentar. // dan /* */ akan menyebabkan galat penguraian.
  • Angka khusus: NaN, Infinity, dan -Infinity bukan angka JSON yang valid.
  • Karakter kutip yang salah: “kutip pintar” yang ditempel dari pengolah kata tampak seperti kutip tetapi merupakan karakter berbeda dan tak akan terurai.

Pertanyaan yang sering diajukan

Apakah JSON saya dikirim ke server?
Tidak. Penguraian, validasi, dan pemformatan semuanya terjadi di browser Anda memakai JavaScript. Tidak ada yang Anda tempel diunggah, disimpan, atau dicatat, jadi ia aman dipakai dengan payload sensitif.
Apakah pemformatan mengubah data saya?
Tidak. Mempercantik dan memperkecil hanya menambah atau membuang spasi antar token. Kunci, nilai, angka, dan strukturnya identik — hanya tata letaknya yang berubah.
Mengapa ia menata ulang atau memformat ulang angka saya?
Alat ini mengurai JSON menjadi nilai sungguhan dan menserialkannya kembali, jadi angka dinormalisasi ke bentuk kanonisnya (misalnya 1e3 menjadi 1000). Nilainya tak berubah; hanya representasi teksnya yang menjadi standar.
Bisakah ia menangani berkas JSON yang sangat besar?
Ia bisa menangani payload besar, tetapi karena semuanya berjalan di browser, berkas yang teramat besar (puluhan megabita) mungkin lambat atau menemui batas memori bergantung pada perangkat Anda.
Apakah ia mempertahankan urutan kunci objek?
Ya. Urutan kunci dipertahankan persis seperti tampil di masukan Anda — alat ini tak menyortir kunci.
Apa perbedaan antara JSON dan objek JavaScript?
JSON adalah format teks untuk pertukaran data; objek JavaScript adalah nilai dalam-memori. JSON lebih ketat: ia mensyaratkan kunci dan string berkutip ganda, melarang koma di ujung dan komentar, serta hanya mengizinkan sekumpulan tipe nilai tetap (string, angka, boolean, null, larik, dan objek).
Bisakah saya memformat JSON5 atau JSONC (JSON dengan komentar)?
Tidak. Alat ini memvalidasi JSON standar yang ketat. JSON5 dan JSONC menambahkan komentar dan kemudahan lain yang bukan bagian dari spesifikasi JSON, jadi keduanya akan dilaporkan sebagai galat.