JSON Validator

Tempel dokumen JSON apa pun dan lihat apakah ia terurai dengan bersih sesuai RFC 8259. Input yang tidak valid dikembalikan dengan masalah persisnya, koma berlebih setelah item array terakhir, kunci tanpa tanda kutip, string yang tidak ditutup, tanda kutip tunggal di tempat JSON menuntut tanda kutip ganda, urutan escape yang salah, plus baris dan kolom tempat parser menyerah. Berguna saat men-debug respons API, file config, sebuah package.json yang diedit manual oleh rekan tim, atau output dari code generator.

Cara kerja validasi JSON

  1. 1

    Tempel JSON Anda

    Masukkan payload, file config, atau respons API. Whitespace tidak masalah; tab dan komentar tidak diperbolehkan (JSON murni tidak punya komentar).

  2. 2

    Urai dengan parser RFC 8259 yang ketat

    Validator menolak apa pun yang dilarang spesifikasi: koma berlebih, kunci tanpa tanda kutip, tanda kutip tunggal, `undefined`, angka heksadesimal.

  3. 3

    Baca kesalahannya

    Jika gagal, Anda mendapat pesan dari parser plus lokasi perkiraan: cukup untuk langsung menuju ke karakter tersebut.

  4. 4

    Perbaiki dan validasi ulang

    Perbaiki masalahnya, tempel lagi, dan pastikan dokumen valid sebelum di-commit atau dikirim.

Apa yang diizinkan JSON ketat, dan apa yang tidak

Banyak format “hampir JSON” beredar (JSON5, JSONC, HJSON, hibrida mirip-YAML). Spesifikasi JSON sendiri kecil dan ketat; validator ini memberi tahu apakah dokumen Anda lolos parser ketat, yang memang dijalankan oleh sebagian besar sistem hilir.

Aturan yang sering menjebak orang

Aturan Valid Tidak valid
Kunci harus string berkutip ganda {"a": 1} {a: 1}
String hanya pakai kutip ganda "hello" 'hello'
Tidak ada koma berlebih [1, 2, 3] [1, 2, 3,]
Tidak ada komentar (tidak ada) // comment atau /* */
Angka: tanpa + di depan, tanpa .5 0.5 +1, .5
Hanya literal cadangan true, false, null undefined, NaN
Encoding UTF-8 String Unicode Urutan byte tidak valid

Kesalahan umum dan artinya

  • “Unexpected token }, ada koma berlebih sebelum kurung kurawal penutup.
  • “Expected property name”, kunci tidak berkutip atau Anda lupa tanda kutip di sekitar kunci pembuka.
  • “Unexpected end of input”, sebuah { atau [ pembuka tidak ditutup; hitung kurawalnya.
  • “Bad control character”, sebuah tab, baris baru, atau byte kontrol lain di dalam literal string. Escape-kan sebagai \t, \n, dst.
  • “Duplicate key”, sebenarnya bukan kesalahan spesifikasi JSON (spesifikasi bilang SEBAIKNYA unik), tetapi banyak validator memperingatkan. Validator menandainya sebagai catatan, bukan kegagalan keras.

Jika Anda butuh format yang lebih longgar

  • JSON5 mengizinkan koma berlebih, komentar, dan tanda kutip tunggal. Gunakan parser JSON5 jika itu format target Anda.
  • JSONC (JSON dengan komentar) adalah yang dipakai pengaturan VS Code. Buang komentar sebelum penguraian ketat.
  • YAML adalah format berbeda; jangan anggap ia “hanya JSON yang diindentasi”.

Tips

  • Validasi sebelum commit. Salah ketik di package.json atau config CI merusak seluruh build sampai ada yang menyadarinya.
  • Pretty-print setelah validasi agar diff peninjauan mudah dibaca. File JSON satu baris itu valid tetapi menyiksa untuk ditinjau.
  • Untuk payload besar, validasi secara stream (jq di command line, misalnya). Penguraian di browser kesulitan melewati beberapa MB.

Pertanyaan yang Sering Diajukan

Tool ini hanya memeriksa validitas sintaksis, apakah ia JSON yang terbentuk dengan benar? Untuk aturan struktural (field wajib, nilai enum, panjang string), gunakan validator JSON Schema. Kedua langkah ini saling melengkapi: percuma menjalankan validasi Schema pada dokumen yang sejak awal bukan JSON valid.

Karena JSON standar tidak punya komentar. // dan /* */ adalah ekstensi yang masuk akal (JSONC, JSON5) tetapi JSON murni menolaknya. Buang komentar sebelum mengirim ke konsumen ketat, atau adopsi JSON5 di seluruh stack Anda.

Tidak valid dalam JSON ketat. Spesifikasi hanya mengizinkan angka berhingga. Serialisasikan sebagai string ("NaN", "Infinity") atau sebagai null, tergantung cara konsumen Anda menangani data yang hilang.

Tidak, validasi berjalan di browser Anda, jadi payload yang Anda tempel tidak pernah meninggalkan halaman. Aman untuk file config sensitif dan respons API berisi kredensial.

Alat Terkait

Alat ini tersedia dalam bahasa lain