Generator de exemple JSON Schema
Creează date de test valide și nevalide reproductibile dintr-o schemă JSON Schema. Fiecare exemplu este verificat cu un validator JSON Schema înainte de a fi oferit.
Acceptă o schemă de cel mult 50.000 de caractere, de la 1 la 100 de exemple valide și de la 0 la 100 de exemple nevalide, cu un rezultat de cel mult 4.000.000 de caractere. Totul rulează în browser. Se pot descărca un raport JSON și fișiere JSON Lines. Lipește o schemă ca JSON sau YAML. Referințele $ref locale sunt urmate. Până la 50.000 de caractere. Verifică setările înainte de rulare.
Rezultatul tău
Generator de exemple JSON Schema
- Lipește o schemă JSON Schema ca JSON sau YAML.
- Alege o valoare inițială și numărul dorit de exemple valide și nevalide.
- Rulează generatorul și vezi ce regulă încalcă fiecare exemplu nevalid.
- Descarcă raportul sau fișierele JSON Lines.
La ce să te aștepți
Acceptă o schemă de cel mult 50.000 de caractere, de la 1 la 100 de exemple valide și de la 0 la 100 de exemple nevalide, cu un rezultat de cel mult 4.000.000 de caractere. Totul rulează în browser. Se pot descărca un raport JSON și fișiere JSON Lines.
Cum sunt create exemplele
Generatorul parcurge schema și alege valori din tipuri, enumerări, intervale, lungimi, modele simple de expresii regulate și formate uzuale printr-un generator de numere pseudoaleatorii cu o valoare inițială, astfel încât aceeași valoare inițială dă aceleași exemple. Fiecare candidat este apoi validat cu Ajv. Un candidat care nu trece este înlocuit, iar după 25 de încercări exemplul este listat ca negenerat în loc să fie emis.
Exemple nevalide
Exemplele nevalide pornesc de la un exemplu valid și încalcă o singură regulă odată, precum un tip greșit, o proprietate obligatorie lipsă, o valoare în afara unei enumerări sau a unui interval ori o proprietate suplimentară. Fiecare este validat din nou, iar raportul numește cuvântul-cheie a cărui verificare a eșuat.
Limite
Sunt urmate numai referințele locale din schemă; referințele către alte fișiere sau adrese web (URLs) nu sunt preluate niciodată. Expresiile regulate complexe, not și unele combinații oneOf pot depăși căutarea acceptată de generator. Exemplele respective sunt raportate ca negenerate. Schemele care folosesc __proto__ drept cheie de proprietate, model de expresie regulată sau dependență sunt respinse deoarece validatorul inclus nu poate verifica acea cheie fiabil. Datele literale ale instanței cu acea cheie sunt păstrate.