Combinarea schemelor JSON Schema
Combină mai multe scheme JSON Schema sau o compoziție allOf într-o singură schemă. Regulile care nu pot fi îndeplinite simultan sunt listate drept conflicte.
Acceptă cel mult 100.000 de caractere și de la 2 la 50 de scheme. Totul rulează în browser. Se pot descărca schema combinată ca JSON, un raport JSON și o listă CSV de conflicte. Un tablou JSON de scheme sau o singură schemă cu allOf. Este acceptat și YAML. Până la 100.000 de caractere. Verifică setările înainte de rulare.
Rezultatul tău
Combinarea schemelor JSON Schema
- Lipește un tablou JSON de scheme sau o schemă al cărei allOf le listează.
- Alege versiunea JSON Schema sau păstrează detectarea automată.
- Rulează combinarea și examinează conflictele și regulile păstrate în allOf.
- Descarcă schema combinată și raportul conflictelor.
La ce să te aștepți
Acceptă cel mult 100.000 de caractere și de la 2 la 50 de scheme. Totul rulează în browser. Se pot descărca schema combinată ca JSON, un raport JSON și o listă CSV de conflicte.
Cum se combină regulile
Tipurile, enumerările și valorile const sunt intersectate, limitele minime și maxime preiau valoarea mai strictă, listele required sunt reunite, iar proprietățile sunt combinate pe rând. Când o schemă interzice proprietăți suplimentare, este interzisă și o proprietate definită numai de altă schemă, iar dacă este obligatorie este listat un conflict.
Ce rămâne în allOf
Unele cuvinte-cheie nu pot fi combinate exact, precum două expresii regulate diferite, oneOf, not, if și then, patternProperties lângă alte reguli de proprietăți și proprietățile neevaluate. Sunt păstrate într-un allOf al schemei combinate și listate în raport, astfel încât sensul schemei să nu se schimbe.
Verificarea rezultatului
Conflictele indică locația lor în schemă. Un conflict într-o proprietate opțională sau într-o regulă doar numerică nu face singur întreaga schemă imposibilă. Raportul marchează provenUnsatisfiable numai când o demonstrație structurală limitată stabilește că nicio instanță nu poate satisface schema combinată. Altfel, indicatorul nu este o dovadă de satisfiabilitate. Când nu sunt conflicte, verificările opționale cu exemple validează prin Ajv candidații fiecărei compoziții față de cealaltă. Schemele de intrare separate își păstrează propriile rădăcini pentru referințele locale. Exemplele sunt dovezi, nu o demonstrație exhaustivă de echivalență. Validatorul respinge schemele care folosesc __proto__ drept cheie de proprietate, model de expresie regulată sau dependență.