validator JSON
Periksa apakah teks Anda mengikuti sintaks JSON standar dan pahami penyebab input diterima atau ditolak.
Periksa JSON sebelum menggunakannya
Satu tanda kutip, koma, atau kurung yang hilang dapat menghentikan API, konfigurasi, atau proses build. Validator ini mencoba membaca source text sebagai JSON sehingga masalah sintaks dapat dipisahkan dari pemeriksaan aplikasi pada tahap berikutnya.
Validasi di halaman ini berarti mencoba melakukan parse terhadap teks yang diberikan. Parse yang berhasil hanya menunjukkan bahwa strukturnya diterima sebagai JSON. Hal itu tidak membuktikan adanya field wajib, aturan bisnis, atau kesesuaian dengan JSON Schema.
Saat payload berpindah dari satu service ke service lain, pemeriksaan sintaks lebih awal membuat debugging lebih terarah. Periksa quote, koma, escape, dan nesting sebelum menjalankan kontrak aplikasi yang lebih khusus.
Gunakan halaman ini untuk request body, fixture, export pengaturan, atau potongan konfigurasi. Hapus token rahasia, password, dan data pribadi dari salinan pengujian, lalu ikuti kebijakan privasi organisasi Anda.
Sintaks berbeda dari makna data
JSON standar memiliki object, array, string, number, true, false, dan null. Nama property serta string memakai double quote, anggota dipisahkan koma, dan kurung harus ditutup dalam urutan yang benar. Comment dan trailing comma bukan bagian dari grammar JSON standar.
Pertanyaan validator sederhana: apakah source dapat diparse sebagai satu JSON value? Validator tidak memperbaiki source, menjalankan kode, memanggil API, atau menentukan apakah value berguna bagi aplikasi. Simpan pemeriksaan schema dan domain sebagai langkah terpisah.
Whitespace biasanya boleh digunakan untuk keterbacaan, tetapi karakter di dalam string adalah bagian dari data. Perhatikan escape sequence, newline, Unicode, dan encoding dengan aturan parser yang sama seperti consumer produksi.
Dokumen JSON yang valid tidak otomatis membuat transport-nya valid. Content type, HTTP header, autentikasi, kompresi, ukuran payload, dan encoding berada pada lapisan lain.
Cara memeriksa JSON
- Tempelkan satu JSON value lengkap pada source field. Hapus comment, code fence, atau wrapper bahasa pemrograman dari salinan tersebut.
- Jalankan validator lalu baca status dan diagnostic. Periksa karakter sebelum dan sesudah lokasi yang ditunjukkan karena kesalahan sebenarnya sering muncul sedikit lebih awal.
- Jika ditolak, periksa quote, koma, kurung, escape, dan nesting. Untuk dokumen besar, isolasi bagian kecil lalu kirim ulang setelah diperbaiki.
- Setelah syntax lolos, jalankan pemeriksaan schema, tipe, field wajib, rentang nilai, permission, dan aturan bisnis proyek Anda.
- Simpan payload asli dan salinan yang sudah disamarkan secara terpisah. Jangan memasukkan secret ke screenshot, contoh publik, atau URL.
- Verifikasi kembali dengan parser dan encoding yang dipakai consumer produksi. Implementasi bahasa yang berbeda dapat menangani duplicate key dan presisi angka secara berbeda.
Metode validasi
- Membaca grammar
Validator mencoba memparse seluruh source sebagai satu JSON value dengan aturan token, quote, delimiter, dan nesting.
- Melaporkan hasil
Hasil valid berarti parsing selesai. Hasil gagal berarti source tidak cocok dengan sintaks yang dipahami validator.
- Memisahkan pemeriksaan lanjutan
Schema, range, permission, dan aturan domain adalah pemeriksaan semantik. Hasilnya memerlukan bukti dan alat terpisah.
Jangan mengarang nomor baris atau pesan error jika tool tidak mendokumentasikannya. Uji ulang pada runtime yang benar bila detail parser penting.
Membaca hasil
Hasil valid berarti teks diterima sebagai sintaks JSON. Lanjutkan dengan memeriksa value dan menjalankan schema atau validasi aplikasi.
Hasil invalid berarti parsing berhenti. Baca diagnostic di sekitar lokasi yang disebutkan dan bandingkan karakter sebelum serta sesudahnya.
Jika syntax valid tetapi request gagal, periksa content type, endpoint, autentikasi, schema, dan aturan bisnis. Jangan melaporkan syntax success sebagai network success.
Jika pesan terlalu umum, kecilkan input untuk menemukan bagian yang gagal. Perubahan hasil setelah satu property ditambah atau dihapus adalah petunjuk investigasi, bukan bukti kebijakan parser universal.
Kesalahan umum
Menempelkan JavaScript dengan single quote, comment, atau trailing comma adalah kesalahan umum. Ubah menjadi JSON standar.
Menganggap hasil valid sebagai schema validation adalah kesalahan. Field wajib, rentang, dan permission memerlukan pemeriksaan lain.
Memperbaiki karakter tepat pada marker error belum tentu cukup karena quote atau koma yang hilang bisa berada sebelumnya.
Jangan menyamakan JSON dengan Python dictionary, YAML, atau object JavaScript. Gunakan grammar JSON yang didokumentasikan.
Clipboard dapat membawa smart quote atau control character tersembunyi. Lihat source dalam plain text editor ketika hasil antar-tool berbeda.
Batasan
Input yang didokumentasikan adalah satu JSON text field. Itu tidak membuktikan dukungan untuk JSON Schema, business rule, pemrosesan file, atau semua edge case parser.
Uji duplicate key, angka sangat besar, ukuran dokumen, dan encoding secara terpisah bila relevan. Kebijakan dapat berbeda antar library.
Checker tidak membuat payload berbahaya menjadi aman. Terapkan batas ukuran, batas nesting, resource limit, dan security review di server.
Dokumentasikan runtime, versi library, dan kebijakan error production; hasil umum halaman ini tidak menggantikannya.
Examples
Object sederhana valid
Apakah object dasar ini valid?
Kirim object lengkap.
Nama ber-quote, string, dan boolean membentuk object JSON yang valid.
Nama tanpa quote ditolak
Mengapa property name tanpa quote tidak valid?
Kirim source lalu baca kegagalannya.
Nama member JSON standar harus berupa string dengan double quote.
Data bertingkat valid
Bolehkah array berisi object?
Kirim value bertingkat sebagai satu dokumen.
Array, object, angka, koma, dan kurung membentuk struktur yang valid.
Trailing comma ditolak
Apa akibat koma setelah member terakhir?
Kirim object dengan trailing comma.
JSON standar tidak mengizinkan trailing comma. Hapus koma lalu ulangi pemeriksaan.
Nilai null
Apakah null merupakan value JSON yang valid?
Kirim object lalu baca hasilnya.
null adalah value JSON standar. Maknanya bagi aplikasi harus ditetapkan oleh kontrak proyek.
Kurung hilang
Mengapa setiap kurung pembuka harus ditutup?
Kirim struktur yang tidak seimbang.
Array dibuka dengan [ tetapi tidak ditutup dengan ]. Perbaiki nesting sebelum memakai data.
Frequently asked questions
Apakah JSON valid berarti data aplikasi valid?
Tidak. Itu hanya berarti text dapat diparse. Field wajib, tipe, rentang, status, dan aturan bisnis harus diperiksa secara terpisah.
Apakah validator memperbaiki source?
Gunakan sebagai checker. Perbaiki source sendiri, simpan diff, lalu kirim ulang salinan yang sudah diperiksa.
Apakah comment diizinkan?
Tidak dalam JSON standar. Simpan comment pada format sumber lain dan generate strict JSON pada build step.
Mengapa single quote ditolak?
Nama dan string JSON standar memakai double quote. Serializer JSON lebih aman daripada mengganti quote secara manual.
Apakah tool ini memeriksa JSON Schema?
Tidak. Jalankan schema validator dengan schema dan draft yang benar, lalu catat hasilnya terpisah dari syntax result.
Bolehkah value tingkat atas berupa array?
JSON dapat memiliki array sebagai value tingkat atas. Namun endpoint tertentu mungkin mewajibkan object, jadi kontrak endpoint tetap harus diuji.
Apakah duplicate key selalu ditolak?
Tidak ada kebijakan universal. Parser dapat memilih nilai pertama, terakhir, atau menghasilkan error. Hindari duplicate name dan uji consumer nyata.
Apa yang dilakukan setelah validasi berhasil?
Jalankan schema, permission, range, dan integration test. Periksa content type, encoding, ukuran, timeout, logging, lalu gunakan payload yang sudah disamarkan di staging.
