Apa yang dilakukan tool ini
Memvalidasi dokumen JSON terhadap JSON Schema, mengembalikan « valid » atau daftar error dengan path instance dan path schema yang tepat untuk setiap kegagalan. Mendukung baik Draft-07 dan Draft 2020-12, terdeteksi otomatis dari field $schema schema, dengan override manual. Pemeriksaan format (email, uri, date-time, uuid, dll.) diaktifkan.
Kapan menggunakannya
- Merancang schema baru dan mencobanya terhadap payload representatif.
- Mendiagnosis mengapa API kamu menolak request — apakah body benar-benar cocok dengan dokumen?
- Memverifikasi bahwa file config mengikuti schema tim kamu sebelum melakukan commit.
- Bermigrasi antara Draft-07 dan 2020-12 dan memeriksa tidak ada yang rusak.
Cara kerjanya
Di balik layar ini menggunakan Ajv (validator JSON Schema di balik sebagian besar tooling JS), di-pin ke mode all-errors sehingga kamu melihat setiap masalah sekaligus alih-alih berhenti di yang pertama. Pemeriksaan format datang dari ajv-formats. Schema dan data di-parse secara lokal; tidak ada yang dikirim ke manapun.
Seleksi draft: jika schema memiliki "$schema": "https://json-schema.org/draft/2020-12/schema" kami menggunakan dialek 2020-12; "http://json-schema.org/draft-07/schema#" memilih Draft-07. Tanpa $schema, kami default ke Draft-07 karena masih paling umum di alam liar.
Catatan
additionalProperties default ke diizinkan — apakah itu benar? Ya, sesuai spec. Jika kamu ingin melarang field tambahan, set "additionalProperties": false secara eksplisit. Ini adalah penyebab paling umum kejutan « saya pikir schema saya strict ».
Apa perbedaan antara Draft-07 dan 2020-12? 2020-12 mengerjakan ulang referensi ($dynamicRef), memisahkan items menjadi items dan prefixItems, dan mengubah cara additionalItems ditangani. Sebagian besar schema sehari-hari berfungsi di keduanya, tapi jika kamu menggunakan validasi tuple, sintaks tidak kompatibel.
Mengapa regex pattern saya cocok dengan hal yang berbeda di validator yang berbeda? JSON Schema menetapkan sintaks regex ECMA-262 (flavor JavaScript). Validator dalam bahasa lain menerjemahkan, kadang-kadang tidak sempurna. Tes pattern di Tester regex untuk memastikan.
Tools terkait
- Formatter JSON — pastikan kedua input berbentuk baik dulu
- JSON ↔ YAML — saat schema kamu dalam YAML
- Tester regex — debug keyword
pattern