Sammenslåing av JSON-skjemaer
Slå sammen flere JSON-skjemaer, eller én allOf-sammensetning, til ett skjema. Regler som aldri kan oppfylles samtidig, vises som konflikter.
Godtar opptil 100 000 tegn og 2 til 50 skjemaer. Alt kjøres i nettleseren. Nedlastingene er det sammenslåtte skjemaet som JSON, en JSON-rapport og en CSV-liste over konflikter. En JSON-array med skjemaer, eller ett skjema med allOf. YAML fungerer også. Opptil 100 000 tegn. Se gjennom innstillingene før du kjører.
Resultatet ditt
Sammenslåing av JSON-skjemaer
- Lim inn en JSON-array med skjemaer, eller ett skjema der allOf lister dem opp.
- Velg JSON Schema-versjon eller behold automatisk gjenkjenning.
- Kjør sammenslåingen og se gjennom konflikter og regler som beholdes i allOf.
- Last ned det sammenslåtte skjemaet og konfliktrapporten.
Dette bør du vite
Godtar opptil 100 000 tegn og 2 til 50 skjemaer. Alt kjøres i nettleseren. Nedlastingene er det sammenslåtte skjemaet som JSON, en JSON-rapport og en CSV-liste over konflikter.
Slik kombineres regler
Typer, enumerasjoner og const-verdier snevres inn til felles verdier, minimums- og maksimumsgrenser bruker den strengeste verdien, required-lister forenes, og egenskaper slås sammen én om gangen. Når ett skjema forbyr ekstra egenskaper, forbys også en egenskap som bare et annet skjema definerer, og en konflikt vises hvis egenskapen er obligatorisk.
Dette beholdes i allOf
Enkelte nøkkelord kan ikke kombineres nøyaktig, som to ulike regulære uttrykk, oneOf, not, if og then, patternProperties ved siden av andre egenskapsregler, og ikke-evaluerte egenskaper. Disse beholdes i en allOf i det sammenslåtte skjemaet og listes i rapporten, slik at betydningen av skjemaet ikke endres.
Kontroll av resultatet
Konflikter angir plasseringen i skjemaet. En konflikt i en valgfri egenskap eller en regel som bare gjelder tall, gjør ikke i seg selv hele skjemaet umulig. Rapporten markerer provenUnsatisfiable bare når et avgrenset strukturelt bevis fastslår at ingen instans kan oppfylle det sammenslåtte skjemaet. Ellers er flagget ikke et bevis på oppfyllbarhet. Når det ikke finnes konflikter, validerer valgfrie eksempelkontroller kandidater fra hver sammensetning mot den andre med Ajv. Separate inndataskjemaer beholder sine egne røtter for lokale referanser. Eksempler er dokumentasjon, ikke et uttømmende bevis på ekvivalens. Validereren avviser skjemaer som bruker __proto__ som nøkkel for egenskap, mønster eller avhengighet.