Format dan validasi JSON
Rapikan indentasi, minify, atau cukup periksa file JSON. Letak kesalahan ditunjukkan per baris dan kolom, dan masalah yang biasanya luput disebutkan dengan jelas.
Letakkan file di sini
.json, .jsonc, .txt · hingga 100 MB
Cara Format JSON
- 1
Letakkan file JSON
Tambahkan satu file atau hingga dua puluh file, maksimal 100 MB per file. File yang berisi komentar dan koma di akhir juga diterima.
- 2
Pilih format, minify, atau validasi
Format merapikan indentasi dokumen, minify membuang setiap byte yang tidak wajib, dan validasi hanya melaporkan temuannya tanpa membuat file.
- 3
Baca laporan dan unduh
Kesalahan disertai nomor baris dan kolom; peringatan mencantumkan kunci ganda dan angka yang kehilangan presisi. Simpan hasilnya jika sudah sesuai.
Kesalahan dengan posisi, bukan pesan samar
Browser tidak sepakat soal kesalahan parsing: ada yang menyebut posisi karakter, ada yang hanya memberi satu kalimat, dan redaksinya berubah dari versi ke versi. Karena itu JSON di sini dibaca oleh parser yang ditulis khusus untuk alat ini, dan parser itu selalu mengubah kegagalan menjadi nomor baris dan kolom. Dalam ekspor berisi 40.000 objek, mengetahui bahwa koma nyasar ada di baris 8.421 membedakan perbaikan dua menit dari satu sore yang terbuang.
Kunci ganda dan angka yang berubah tanpa disadari
Dua masalah tidak pernah muncul dari parsing biasa. Kunci yang berulang di objek yang sama dianggap sah oleh kebanyakan parser: nilai terakhir disimpan tanpa pemberitahuan apa pun. Di sini kedua nomor barisnya ditampilkan. Lalu, bilangan bulat yang lebih besar dari 2^53, seperti 9007199254740993, tidak bisa disimpan persis sebagai angka JSON; nilainya kembali berkurang satu. ID dari API eksternal terus-menerus terkena masalah ini, jadi setiap literal seperti itu dilaporkan beserta jalurnya.
Masukan longgar, hasil ketat
File sungguhan datang dengan komentar //, /* komentar blok */, dan koma setelah entri terakhir. Semuanya mudah dibaca, dan semuanya ditolak oleh setiap parser yang patuh standar. Mode longgar menerima semua itu dan memberi tahu apa saja yang dibuang. Hasilnya selalu JSON biasa yang valid. Pilih masukan ketat untuk membuktikan bahwa file sudah sesuai standar.
Data tetap di tab ini
Dump API dan ekspor konfigurasi biasanya berisi token, alamat, dan data pelanggan, jadi tidak ada yang dikirim ke mana pun. File dibaca, diurai, diperiksa, dan ditulis ulang di dalam browser, dan file yang lebih besar ditangani di thread terpisah (worker). Tanpa unggahan, tanpa akun, dan tidak ada salinan yang tertinggal setelah tab ditutup.
Pertanyaan yang sering diajukan
Mengapa JSON saya yang berisi komentar tetap lolos?
Karena mode masukan bawaannya longgar: komentar // dan /* */ serta koma di akhir diterima, dilaporkan sebagai peringatan, dan tidak disertakan di hasil. Ini pilihan praktis untuk file konfigurasi yang diedit manual. Jika Anda memang perlu membuktikan bahwa file adalah JSON standar, ubah mode masukan ke ketat, dan hal yang sama akan menjadi kesalahan.
Apa arti kesalahan “unexpected token”?
Artinya parser menemukan karakter yang tidak bisa dipakai di posisi itu. Penyebab umumnya adalah koma yang hilang atau berlebih, tanda petik tunggal, bukan ganda, kunci tanpa tanda petik, atau nilai yang berakhir terlalu cepat. Pesannya menyebutkan baris dan kolom, jadi mulailah membaca satu atau dua token sebelum posisi yang dilaporkan.
Bagaimana cara menghapus semua indentasi?
Pilih minify. Setiap spasi, tab, dan baris baru yang tidak wajib dibuang, dan hasilnya satu baris, biasanya 15 sampai 30% lebih kecil daripada versi berindentasi. Data hasil penguraiannya identik, jadi file hasil minify bisa langsung menggantikan versi rapi di mana pun versi itu dipakai.
Apa itu kehilangan presisi angka?
Angka JSON adalah bilangan floating point, jadi tidak semua bilangan bulat di atas 2^53 bisa direpresentasikan. Masukkan 9007199254740993, dan yang kembali adalah 9007199254740992. ID panjang dari sistem eksternal adalah korban yang paling sering. Setiap literal dengan masalah itu ditandai beserta jalurnya, dan solusi jangka panjangnya adalah API sumber mengirim ID tersebut sebagai string.
Apakah kunci bisa diurutkan menurut abjad?
Bisa. Pengurutan cukup diaktifkan dengan satu sakelar dan berlaku di semua tingkat kedalaman. Fitur ini paling berguna sebelum membandingkan dua ekspor, karena perbedaan urutan yang tidak bermakna hilang dan hanya perubahan nyata yang tersisa di diff. Urutan kunci tidak punya arti dalam JSON, jadi tidak ada yang hilang karena pengurutan.
Apa bedanya mode validasi?
Mode ini berhenti setelah pemeriksaan. Anda mendapat kesimpulan beserta daftar lengkap kesalahan dan peringatan, tetapi tidak ada file untuk diunduh. Pakai mode ini jika Anda hanya perlu tahu apakah file sudah benar, misalnya artefak build atau respons API yang akan segera dirilis, dan tidak berniat menulis ulangnya.
Apakah JSON saya diunggah ke suatu tempat?
Tidak. Penguraian, pemeriksaan, dan penulisan ulang semuanya berlangsung di tab browser memakai kode yang dikirim bersama halaman. Tidak ada server yang menerima teksnya, tidak ada yang dicatat, dan tidak ada yang tersisa setelah tab ditutup.