Cara menggunakan
- Tempel JSON ke kotak, buka file, atau tekan “Coba contoh” untuk melihat laporan kesalahan.
- Baca hasilnya: pesan hijau menandakan JSON valid, atau kesalahan pertama ditampilkan beserta baris, kolom, dan penanda di bawah bagian yang bermasalah.
- Perbaiki kesalahan sesuai petunjuk, lalu periksa lagi; hasilnya diperbarui saat Anda mengetik.
- Jika JSON valid, lihat statistiknya: tipe akar, jumlah kunci, kedalaman bersarang, dan ukuran dalam byte.
Cara kerja
Validator memeriksa sintaks berdasarkan standar JSON (RFC 8259 / ECMA-404) menggunakan parser JSON bawaan browser. Jadi, dokumen yang lolos pemeriksaan ini juga diterima oleh JSON.parse JavaScript dan parser lain yang sesuai standar. Jika penguraian gagal, pemeriksa ketat yang dibuat untuk alat ini menelusuri teks satu kali untuk menemukan kesalahan pertama beserta nomor baris dan kolomnya secara tepat, lalu menampilkan baris tersebut dengan penanda ^ di bawah bagian yang bermasalah.
Petunjuknya berfokus pada kesalahan yang sering terjadi saat JSON ditulis secara manual atau disalin dari JavaScript: koma setelah item terakhir, string dengan tanda kutip tunggal, kunci tanpa tanda kutip, komentar // atau /* */, nilai seperti NaN, Infinity, atau undefined, baris baru mentah di dalam string, serta dua dokumen JSON yang ditempel berurutan (seperti dalam file JSON Lines). Hanya kesalahan pertama yang dilaporkan karena satu kesalahan sering membuat bagian setelahnya ikut terbaca keliru.
Alat ini hanya memeriksa sintaks. Alat ini tidak memvalidasi berdasarkan JSON Schema, sehingga tidak dapat memberi tahu apakah ada kolom wajib yang hilang. Alat ini juga tidak memberikan peringatan tentang kunci duplikat: standar mengizinkannya dan sebagian besar parser mempertahankan nilai terakhir. Statistik menghitung kunci di setiap objek pada semua tingkat; kedalaman bernilai 1 untuk objek atau array datar dan bertambah satu untuk setiap tingkat bertingkat.
Contoh
Konfigurasi yang disalin dari JavaScript
{name: 'demo', debug: true,} gagal pada baris 1, kolom 2 dengan pesan “Kunci objek harus diapit tanda kutip ganda”. Setelah kunci diberi tanda kutip, pemeriksaan berikutnya menunjukkan string bertanda kutip tunggal, lalu koma di akhir.
File log dengan satu objek per baris
Menempelkan dua baris seperti {"id":1} dan {"id":2} akan menampilkan pesan “ada konten tambahan setelah nilai JSON berakhir” pada baris 2. Masing-masing baris adalah JSON yang valid jika berdiri sendiri (JSON Lines), tetapi keduanya perlu dibungkus dalam [ ] dan dipisahkan dengan koma.
Memeriksa payload API
Respons berukuran 2 MB divalidasi dalam sekejap dan menampilkan Tipe akar: Array, 1.500 item tingkat atas, serta kedalaman bertingkat 4—pemeriksaan cepat sebelum menulis kode untuk mengolahnya.
Pertanyaan yang sering diajukan
Apakah alat ini memvalidasi JSON berdasarkan JSON Schema?
Tidak. Alat ini memeriksa apakah teks merupakan JSON yang valid secara sintaksis. Untuk memeriksa kolom wajib, tipe, atau format, Anda memerlukan validator JSON Schema yang tidak tersedia di alat ini.
Mengapa hanya satu kesalahan yang ditampilkan?
Setelah kesalahan sintaks pertama, parser tidak dapat mengetahui maksud penulis, jadi “kesalahan” berikutnya sering kali merupakan dampak dari kesalahan pertama. Perbaiki masalah yang ditunjukkan, lalu kesalahan berikutnya, jika ada, akan langsung muncul.
Apakah komentar atau koma di akhir pernah diizinkan?
Tidak dalam JSON. Format seperti JSON5 dan JSONC (yang digunakan pada file pengaturan beberapa editor) mengizinkan komentar dan koma di akhir, tetapi parser JSON standar menolaknya, sehingga hal tersebut dilaporkan sebagai kesalahan di sini.
Apakah satu nilai seperti 42 atau "hello" merupakan JSON yang valid?
Ya. Sejak RFC 7159, nilai JSON apa pun boleh menjadi nilai akar, tidak hanya objek dan array. Beberapa alat dan API lama masih mengharuskan objek atau array di tingkat teratas.
Mengapa nomor kolomnya bisa berbeda dari yang ditampilkan editor saya?
Kolom dihitung dalam unit kode UTF-16, seperti cara JavaScript menghitung panjang string. Emoji dan beberapa karakter langka dihitung sebagai dua kolom, sedangkan tab dihitung sebagai satu kolom, meskipun editor mungkin menampilkannya lebih lebar.
Privasi
Validasi dilakukan sepenuhnya di browser Anda. JSON yang ditempel atau dibuka tidak diunggah, disimpan, atau disertakan dalam analitik.