Punctele cheie
- 01Alimentat de Ajv, cel mai larg folosit validator JavaScript JSON Schema — ceea ce trece aici trece în Node.js, Fastify și majoritatea lanțurilor JS.
- 02Raportează fiecare eroare de validare odată (modul allErrors), nu doar prima eșec.
- 03Fiecare eroare include calea JSON Pointer la câmpul eșuat pentru navigare rapidă.
- 04Atât schema cât și datele rulează în întregime în browserul tău — nimic nu se încarcă.
De Ce Validezi JSON Împotriva unei Scheme?
JSON Schema este modalitatea standard de a descrie forma unui document JSON — câmpuri necesare, tipuri permise, constrângeri de valoare, structuri de obiecte imbricate. Validarea împotriva unei scheme înainte ca o sarcină să ajungă în producție detectează nepotriviri de tip, câmpuri necesare lipsă și încălcări de constrângeri devreme, când sunt ieftine de reparat.
Cazurile de utilizare cele mai comune sunt testarea corpurilor cererii și răspunsului API, validarea fișierelor de configurare, verificarea obiectelor de exemplu OpenAPI și verificarea exporturilor de date împotriva unei structuri cunoscute. Validatorul Handytool folosește Ajv — biblioteca JavaScript JSON Schema de facto, folosită în Node.js însuși — deci rezultatele aici se potrivesc cu ceea ce backend-ul va vedea.
Cum să Validezi JSON Împotriva unei Scheme
- 01
Lipește Scheme-ul tău JSON
Lipește schema în panoul din stânga. Aceasta poate fi o schemă Draft 7 sau 2019-09 sau 2020-12 cu tip, proprietăți, necesar, elemente, anyOf, allOf — orice cuvânt-cheie acceptat de Ajv.
- 02
Lipește datele JSON
Lipește documentul de date pe care vrei să-l validezi în panoul din dreapta. Aceasta este instanța — un corp cerere API, un obiect de configurare, o înregistrare de export sau un singur exemplu din spec-ul OpenAPI.
- 03
Dă clic pe Valideaza
Ajv execută validarea cu allErrors: true, ceea ce înseamnă că colectează fiecare eșec mai degrabă decât să se oprească la primul.
- 04
Revizuiește lista de erori
Fiecare eroare arată calea pointerului JSON la valoarea eșuată (de exemplu /user/email), cuvântul-cheie eșuat (tip, necesar, minim) și un mesaj uman-ușor de citit. Remediază fiecare și re-valideaza.
Ce Dezvoltatori Valideaza Cu JSON Schema
- 01Corpuri cerere REST API — confirmă că o sarcină se potrivește cu forma așteptată a capătului înainte de a trimite.
- 02Obiecte de exemplu spec OpenAPI — valideaza fiecare exemplu impotriva componentei de schemă inline.
- 03Fișiere de configurare — asigură că cheile necesare sunt prezente și valorile sunt tipul corect.
- 04Înregistrări din canalul de date — detectează derivă structurală între producători și consumatori de date.
- 05Sarcini de trimitere de formă — testează că validarea frontend oglinzile constrângerile schemei backend.
- 06Corpuri webhook de terți — confirmă că schema documentată se potrivește cu sarcina reală.
Validare Privată, Fără Server Necesar
Ajv rulează în întregime în browserul tău. Nici schema nici datele nu sunt trimise la niciun server — poți validează în siguranță scheme-uri care descriu structuri de date interne și obiecte de date care conțin valori de câmp sensibile.
Validatorul acceptă schema JSON schițe 6, 7, 2019-09 și 2020-12. Schița cea mai comună în sălbăticie este Draft 7, care acoperă toate cuvintele-cheie zilnice: tip, proprietăți, necesar, elemente, minim, maxim, model, enum, anyOf, allOf, oneOf, nu și $ref.
FAQ Validator JSON Schema
Ce schițe JSON Schema sunt acceptate?
Ajv acceptă schițele 6, 7, 2019-09 și 2020-12. Draft 7 este cea mai comună în bazele de cod existente și acoperă toate cuvintele-cheie standard.
De ce $ref schema mea nu se rezolvă?
URL-urile $ref externe nu sunt preluat în acest instrument numai browser. Inline toate schemele referențiate folosind $defs și pointerele JSON locale cum ar fi #/$defs/MyType.
Se încarcă schema sau datele mele pe vreun server?
Nu. Ajv rulează în întregime în browserul tău — atât schema cât și datele rămân pe dispozitivul tău.
Pot folosi aceasta pentru a valida o spec OpenAPI 3?
Poți valida componente de schemă individuale și obiecte de exemplu. Validarea întregului document OpenAPI necesită un validator OpenAPI dedicat care înțelege meta-schema specului.
De ce văd mai multe erori în loc de doar prima?
Validatorul este configurat cu allErrors: true, care îi face pe Ajv să colecteze fiecare eșec mai degrabă decât să se oprească la primul. Aceasta este intenționată — poți remedia toate problemele într-o trecere mai degrabă decât făcând încercări de validare repetate.