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
Tempel JSON Anda
Masukkan payload, file config, atau respons API. Whitespace tidak masalah; tab dan komentar tidak diperbolehkan (JSON murni tidak punya komentar).
-
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
Baca kesalahannya
Jika gagal, Anda mendapat pesan dari parser plus lokasi perkiraan: cukup untuk langsung menuju ke karakter tersebut.
-
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.jsonatau 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 (
jqdi 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
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Generator EditorConfig
Buat file .editorconfig dengan gaya dan ukuran indentasi, akhir baris, charset, dan aturan spasi Anda untuk format yang konsisten di berbagai IDE dan editor.
Validator Email
Validasi alamat email: pemeriksaan sintaks RFC 5322, pengecekan live record MX, serta detail bagian lokal, domain, dan panjang. Tidak ada email yang dikirim.
Pemformat HTML
Format HTML secara lokal di browser dengan inden dua atau empat spasi. HTML tidak diunggah atau divalidasi.
Alat ini tersedia dalam bahasa lain
- JSON 검사기 [KO]
- JSON-validator [SV]
- مدقّق JSON [AR]
- Walidator JSON [PL]
- JSON-Validator [DE]
- Validateur JSON [FR]
- ตัวตรวจสอบความถูกต้องของ JSON [TH]
- JSON-validator [NL]
- JSONバリデーター [JA]
- Trình kiểm tra JSON [VI]
- Validador JSON [PT]
- Validador JSON [ES]
- JSON Validator [EN]
- Validator JSON [IT]
- JSON 校验器 [ZH]
- Валидатор JSON [RU]
- JSON Doğrulayıcı [TR]