happytails.ai
Svenska

Sammanslagning av JSON-scheman

Slå samman flera JSON-scheman, eller en allOf-sammansättning, till ett enda schema. Regler som aldrig kan uppfyllas samtidigt listas som konflikter.

Tar emot högst 100 000 tecken och 2 till 50 scheman. Allt körs i webbläsaren. Nedladdningarna är det sammanslagna schemat som JSON, en JSON-rapport och en CSV-lista över konflikter. En JSON-array av scheman eller ett schema med allOf. YAML fungerar också. Upp till 100 000 tecken. Kontrollera inställningarna innan du kör.

Ditt resultat

Rapportera ett problem eller dela en idé.

Sammanslagning av JSON-scheman
  1. Klistra in en JSON-array av scheman eller ett schema vars allOf listar dem.
  2. Välj JSON Schema-version eller behåll automatisk identifiering.
  3. Kör sammanslagningen och granska konflikter och regler som behålls i allOf.
  4. Ladda ned det sammanslagna schemat och konfliktrapporten.

Vad du kan förvänta dig

Tar emot högst 100 000 tecken och 2 till 50 scheman. Allt körs i webbläsaren. Nedladdningarna är det sammanslagna schemat som JSON, en JSON-rapport och en CSV-lista över konflikter.

Så kombineras regler

Typer, uppräkningar och const-värden skärs med varandra, minimi- och maximigränser får det striktare värdet, required-listor förenas och egenskaper slås samman en i taget. När ett schema förbjuder extra egenskaper förbjuds även en egenskap som bara ett annat schema definierar, och en konflikt listas om egenskapen är obligatorisk.

Det här behålls i allOf

Vissa nyckelord kan inte kombineras exakt, som två olika reguljära uttryck, oneOf, not, if och then, patternProperties bredvid andra egenskapsregler och ej utvärderade egenskaper. Dessa behålls i en allOf i det sammanslagna schemat och listas i rapporten, så att schemats betydelse inte ändras.

Kontroll av resultatet

Konflikter anger sin plats i schemat. En konflikt i en valfri egenskap eller en regel som bara gäller tal gör inte i sig hela schemat omöjligt. Rapporten markerar provenUnsatisfiable endast när ett begränsat strukturellt bevis visar att ingen instans kan uppfylla det sammanslagna schemat. Annars är flaggan inget bevis på uppfyllbarhet. När konflikter saknas validerar valfria exempelkontroller kandidater från varje sammansättning mot den andra med Ajv. Separata indatascheman behåller sina egna rötter för lokala referenser. Exempel är belägg, inte ett uttömmande bevis på likvärdighet. Valideraren avvisar scheman som använder __proto__ som nyckel för egenskap, mönster eller beroende.