happytails.ai
Dansk

Sammenfletning af JSON-skemaer

Sammenflet flere JSON-skemaer eller én allOf-sammensætning til ét skema. Regler, der aldrig kan opfyldes samtidig, vises som konflikter.

Accepterer højst 100.000 tegn og 2 til 50 skemaer. Alt kører i browseren. Downloads er det sammenflettede skema som JSON, en JSON-rapport og en CSV-liste over konflikter. Et JSON-array af skemaer eller ét skema med allOf. YAML kan også bruges. Op til 100 000 tegn. Gennemgå indstillingerne, før du kører.

Dit resultat

Rapportér et problem, eller del en idé.

Sammenfletning af JSON-skemaer
  1. Indsæt et JSON-array af skemaer eller ét skema, hvis allOf angiver dem.
  2. Vælg JSON Schema-versionen, eller behold automatisk registrering.
  3. Kør sammenfletningen, og gennemgå konflikter og regler, der bevares i allOf.
  4. Download det sammenflettede skema og konfliktrapporten.

Det skal du vide

Accepterer højst 100.000 tegn og 2 til 50 skemaer. Alt kører i browseren. Downloads er det sammenflettede skema som JSON, en JSON-rapport og en CSV-liste over konflikter.

Sådan kombineres regler

Der tages fællesmængden af typer, enumerationer og const-værdier; minimums- og maksimumsgrænser bruger den strengeste værdi, required-lister forenes, og egenskaber sammenflettes én ad gangen. Når et skema forbyder ekstra egenskaber, forbydes også en egenskab, som kun et andet skema definerer, og der vises en konflikt, hvis egenskaben er obligatorisk.

Det bliver i allOf

Nogle nøgleord kan ikke kombineres præcist, såsom to forskellige regulære udtryk, oneOf, not, if og then, patternProperties ved siden af andre egenskabsregler og ikke-evaluerede egenskaber. De bevares i en allOf i det sammenflettede skema og vises i rapporten, så skemaets betydning ikke ændres.

Kontrol af resultatet

Konflikter angiver deres placering i skemaet. En konflikt i en valgfri egenskab eller en regel, der kun gælder tal, gør ikke i sig selv hele skemaet umuligt. Rapporten markerer kun provenUnsatisfiable, når et begrænset strukturelt bevis fastslår, at ingen instans kan opfylde det sammenflettede skema. Ellers er flaget ikke et bevis for opfyldelighed. Når der ikke er konflikter, validerer valgfrie eksempelkontroller kandidater fra hver sammensætning mod den anden med Ajv. Separate inputskemaer beholder deres egne rødder for lokale referencer. Eksempler er belæg, ikke et udtømmende bevis for ækvivalens. Validatoren afviser skemaer, der bruger __proto__ som nøgle for egenskab, mønster eller afhængighed.