Cara validasi JSON
- Tempel JSON atau buka file. Validasi berjalan otomatis saat Anda mengetik.
- Pesan hijau “JSON valid” beserta statistik berarti dokumen sudah benar. Jika tidak, baca pesan error-nya: pesan tersebut menyebutkan baris, kolom, dan apa yang seharusnya ada di sana.
- Betulkan baris yang disorot atau klik Perbaiki, lalu Format hasilnya agar mudah dibaca.
Error JSON yang umum dan cara memperbaikinya
| Error | Contoh | Solusi |
|---|---|---|
| Koma di akhir | [1, 2, ] | Hapus koma sebelum ] atau } |
| Kutip tunggal | {'name': 'Ada'} | Gunakan tanda kutip ganda: {"name": "Ada"} |
| Key tanpa tanda kutip | {name: "Ada"} | Beri tanda kutip pada key: {"name": "Ada"} |
| Koma hilang | {"a": 1 "b": 2} | Tambahkan koma di antara properti |
| Komentar | // settings | JSON tidak mendukung komentar – hapus komentarnya |
| Baris baru di dalam string | "line 1⏎line 2" | Tulis \n sebagai ganti baris baru sungguhan |
| Nilai tidak valid | undefined, NaN, True | Gunakan null, angka, true, atau false |
| Nol di depan | {"zip": 01234} | Tulis 1234, atau simpan sebagai teks: "01234" |
| Kurung hilang | {"a": [1, 2} | Tutup setiap [ dengan ] dan setiap { dengan } |
Syarat JSON yang valid
JSON didefinisikan dalam RFC 8259. Dokumen yang valid mengikuti beberapa aturan ketat:
- Berisi tepat satu nilai di level teratas, biasanya objek
{}atau array[]. - Anggota objek berupa pasangan
"key": valueyang dipisahkan koma; key selalu berupa string dalam tanda kutip ganda. - String memakai tanda kutip ganda; di dalamnya hanya escape
\" \\ \/ \b \f \n \r \tdan\uXXXXyang diizinkan. - Angka ditulis dalam desimal: tanpa nol di depan, tanpa tanda
+, tanpa heksadesimal, tanpaNaNatauInfinity. true,false, dannullditulis dengan huruf kecil.- Spasi, tab, dan baris baru boleh ada di antara token, tetapi komentar tidak.
Validasi JSON di command line
- Python:
python -m json.tool file.jsonmenampilkan baris dan kolom error pertama. - jq:
jq empty file.jsonkeluar dengan pesan error jika file tidak valid. - Node.js:
node -e "JSON.parse(require('fs').readFileSync('file.json', 'utf8'))"
Pertanyaan yang sering diajukan
Apa bedanya JSON validator dan JSON linter?
Validator memeriksa apakah teks mengikuti sintaks JSON. Linter biasanya juga menerapkan gaya penulisan yang konsisten. JSON checker ini memvalidasi secara ketat sesuai RFC 8259 dan, dengan Format, juga memberi Anda indentasi yang konsisten.
Bisakah memvalidasi JSON terhadap JSON Schema?
Halaman ini memeriksa sintaks. Untuk mendeskripsikan struktur data yang diharapkan, buat schema dari contoh dokumen dengan JSON Schema generator kami.
Mengapa JSON saya valid di sini tetapi ditolak program lain?
Program sering kali mengharapkan struktur tertentu (key atau tipe tertentu), encoding tertentu seperti UTF-8 tanpa byte order mark, atau angka dalam rentang terbatas. JSON yang valid secara sintaks tetap bisa melanggar aturan aplikasi seperti itu.
Apakah JSON dengan komentar (JSONC) valid?
Tidak. JSON standar tidak mengizinkan komentar. Beberapa editor menerimanya di file pengaturan (JSONC), tetapi API dan JSON.parse tidak. Perbaiki akan menghapus komentar untuk Anda.