happytails.ai
Magyar

JSON Schema-egyesítő

Egyesítsen több JSON-sémát vagy egy allOf kompozíciót egyetlen sémává. Az egyszerre soha nem teljesíthető szabályok ütközésként jelennek meg.

Legfeljebb 100 000 karaktert és 2 és 50 közötti sémát fogad. Minden a böngészőben fut. Az egyesített séma JSON-ként, JSON-jelentés és az ütközések CSV-listája tölthető le. Sémákat tartalmazó JSON-tömb vagy egy allOf elemet használó séma. A YAML is használható. Legfeljebb 100 000 karakter. Futtatás előtt tekintsd át a beállításokat.

Az eredményed

Jelezz egy hibát, vagy oszd meg az ötleted.

JSON Schema-egyesítő
  1. Illesszen be sémákat tartalmazó JSON-tömböt vagy egy sémát, amelynek allOf eleme felsorolja őket.
  2. Válassza ki a JSON Schema verzióját, vagy tartsa meg az automatikus felismerést.
  3. Futtassa az egyesítést, és tekintse át az ütközéseket és az allOf elemben megtartott szabályokat.
  4. Töltse le az egyesített sémát és az ütközésjelentést.

Mire számíthatsz

Legfeljebb 100 000 karaktert és 2 és 50 közötti sémát fogad. Minden a böngészőben fut. Az egyesített séma JSON-ként, JSON-jelentés és az ütközések CSV-listája tölthető le.

A szabályok egyesítése

A típusok metszetét veszi, a felsorolások és const értékek metszetét veszi, a minimum- és maximumkorlátok a szigorúbb értéket kapják, a required listák összekapcsolódnak, és a tulajdonságok egyenként egyesülnek. Ha egy séma tiltja a többlettulajdonságokat, a csak másik sémában definiált tulajdonság is tiltott, és ha kötelező, ütközésként jelenik meg.

Mi marad az allOf elemben

Egyes kulcsszavak nem egyesíthetők pontosan, például két eltérő reguláris kifejezés, oneOf, not, if és then, más tulajdonságszabályok melletti patternProperties és ki nem értékelt tulajdonságok. Ezek az egyesített séma allOf elemén belül maradnak, és a jelentésben szerepelnek, így a séma jelentése nem változik.

Az eredmény ellenőrzése

Az ütközések megadják a sémabeli helyüket. Egy nem kötelező tulajdonság vagy csak számokra érvényes szabály ütközése önmagában nem teszi a teljes sémát kielégíthetetlenné. A jelentés csak akkor jelöli a provenUnsatisfiable értéket, ha korlátos strukturális bizonyítás igazolja, hogy egyetlen példány sem felelhet meg az egyesített sémának. Egyébként ez a jelző nem bizonyítja a kielégíthetőséget. Ha nincs ütközés, a választható mintaellenőrzések Ajv segítségével ellenőrzik az egyes kompozíciók jelöltjeit a másikhoz képest. A külön bemeneti sémák megtartják saját helyi hivatkozási gyökereiket. A minták bizonyítékul szolgálnak, de nem jelentenek kimerítő ekvivalenciabizonyítást. A validátor elutasítja a __proto__ kulcsot tulajdonság-, minta- vagy függőségi kulcsként használó sémákat.