ByteCompress

Validator JSON

Periksa apakah JSON Anda secara sintaksis valid sesuai RFC 8259. Dapatkan pesan kesalahan yang tepat dengan nomor baris dan kolom untuk memperbaiki masalah dengan cepat.

0 chars
FreeClient-sideNo signup

Koma di akhir setelah elemen terakhir dalam array adalah kesalahan JSON yang paling umum - dan tidak terlihat oleh mata dalam output yang diminimalkan. Kesalahan parsing JSON menyumbang sekitar 15% dari waktu debugging API, menurut analisis survei pengembang StackOverflow 2023. Validator ini menangkap itu dan setiap pelanggaran RFC 8259 lainnya langsung di browser Anda. Tempel JSON Anda untuk mendapatkan keputusan segera: valid atau tidak valid, dengan baris dan kolom yang tepat dari setiap masalah. Tidak ada yang diunggah. Tidak perlu akun.

Cara Memvalidasi JSON

  1. Tempel atau ketik JSON Anda ke dalam kotak input.
  2. Validator memeriksa sintaks secara real-time, atau klik Validasi untuk laporan lengkap.
  3. Jika valid, indikator hijau mengonfirmasi struktur dengan ringkasan tipe tingkat atas.
  4. Jika tidak valid, panel kesalahan menunjukkan baris, kolom yang tepat, dan deskripsi masalah dalam bahasa yang mudah dipahami.
  5. Perbaiki masalah yang ditunjukkan dan validasi ulang hingga Anda menerima hasil yang bersih.

Apa yang Diperiksa

Aturan Struktural

JSON harus dimulai dengan objek ({}) atau array ([]) di tingkat atas, meskipun RFC 8259 juga mengizinkan primitif (string, angka, boolean, null) sebagai nilai tingkat atas. Kurung kurawal dan kurung siku harus seimbang dan ter-nesting dengan benar. Koma harus memisahkan elemen tetapi tidak boleh muncul setelah elemen terakhir - koma di akhir adalah kesalahan JSON yang paling sering terjadi. Setiap kunci objek harus berupa string yang diapit tanda kutip ganda.

Jenis Nilai

JSON mendefinisikan enam jenis nilai: string (dengan tanda kutip ganda, dengan urutan escape tertentu), angka (bilangan bulat dan desimal, tanpa nol di depan), boolean (true dan false, hanya huruf kecil), null (huruf kecil), objek, dan array. Nilai khusus JavaScript seperti undefined, NaN, Infinity, dan ekspresi fungsi bukanlah JSON yang valid dan akan gagal validasi.

Kepatuhan RFC 8259

RFC 8259 (diterbitkan Desember 2017, menggantikan RFC 4627 dan RFC 7159) adalah standar IETF saat ini untuk JSON. Ini menetapkan pengkodean UTF-8, melarang kunci objek yang duplikat, dan mendefinisikan urutan escape yang tepat untuk nilai string. Validator ini menerapkan aturan RFC 8259 yang ketat untuk kompatibilitas maksimum di semua parser dan bahasa.

Contoh

Input Tidak Valid (koma di akhir)

{
  "name": "Alice",
  "roles": ["admin", "editor",]
}

Kesalahan Validator

Kesalahan di baris 3, kolom 33: Token ']' yang tidak terduga
Koma di akhir tidak diperbolehkan dalam array JSON (RFC 8259 §5).

Kesalahan Sintaks Umum

  • Koma di akhir - {"a": 1,} - hapus koma terakhir sebelum kurung kurawal atau kurung siku yang menutup
  • String dengan tanda kutip tunggal - {'key': 'value'} - ubah menjadi tanda kutip ganda
  • Kunci yang tidak diapit tanda kutip - {key: "value"} - bungkus kunci dalam tanda kutip ganda
  • Komentar JavaScript - // komentar atau /* komentar */ - JSON tidak memiliki sintaks komentar; hapus mereka
  • Penulisan boolean/null yang salah - True, False, NULL tidak valid; gunakan true, false, null

Perbedaan Antara Validasi dan Pemformatan

Validasi memeriksa apakah JSON secara sintaksis benar - ia lulus atau gagal dengan rincian kesalahan yang spesifik. Pemformatan hanya menambahkan spasi untuk keterbacaan dan tidak memverifikasi kebenaran. Mencoba memformat JSON yang tidak valid juga gagal, karena pemformat harus mem-parsing JSON terlebih dahulu. Validasi terlebih dahulu, lalu format.

Setelah JSON lulus validasi, Pemformat JSON mengindentasi untuk keterbacaan, dan Minifier JSON mengompres untuk penggunaan produksi. Untuk JSON yang disematkan dalam URL, dekode dengan URL Decoder sebelum memvalidasi.

Pertanyaan Umum

Apa perbedaan antara validasi JSON dan pemformatan?

Validasi memeriksa apakah JSON Anda secara sintaksis benar sesuai RFC 8259. Pemformatan hanya menambahkan spasi untuk keterbacaan dan tidak memverifikasi kebenaran. Anda dapat mencoba memformat JSON yang tidak valid, tetapi pemformat juga akan gagal karena harus mem-parsing JSON terlebih dahulu. Validasi sebelum memformat.

Mengapa JavaScript menerima JSON saya tetapi validator menolaknya?

Beberapa lingkungan JavaScript menerima superset JSON yang lebih longgar seperti JSON5 atau HJSON, yang memungkinkan komentar, string dengan tanda kutip tunggal, dan koma di akhir. Validator ini menguji sesuai RFC 8259 yang ketat untuk memastikan JSON berfungsi di semua bahasa dan runtime. Jika kasus penggunaan Anda hanya JavaScript, pertimbangkan JSON5.parse() dengan pustaka json5.

Bisakah saya memvalidasi dokumen JSON Schema dengan alat ini?

Alat ini hanya memvalidasi sintaks JSON, bukan semantik JSON Schema. Dokumen JSON Schema itu sendiri adalah JSON yang valid, jadi validasi sintaks berfungsi. Untuk memvalidasi apakah objek data sesuai dengan definisi JSON Schema, Anda memerlukan validator JSON Schema khusus seperti ajv.

Apakah data saya pribadi saat saya memvalidasinya di sini?

Sepenuhnya. Validasi berjalan di sisi klien di browser Anda menggunakan fungsi JSON.parse bawaan. Tidak ada data yang dikirim ke server mana pun, dicatat, atau disimpan. Anda dapat dengan aman memvalidasi payload yang berisi kredensial API, informasi pribadi, atau data bisnis internal.

Apa kesalahan validasi JSON yang paling umum?

Dalam urutan frekuensi: (1) koma di akhir setelah elemen terakhir - [1, 2, 3,]; (2) string dengan tanda kutip tunggal alih-alih tanda kutip ganda; (3) backslash atau karakter kontrol yang tidak di-escape di dalam string; (4) komentar JavaScript; (5) huruf besar True/False/Null alih-alih true/false/null.