Łączenie schematów JSON Schema
Połącz kilka schematów JSON Schema lub jedną kompozycję allOf w jeden schemat. Reguły, których nie można spełnić jednocześnie, zostaną wykazane jako konflikty.
Przyjmuje do 100 000 znaków i od 2 do 50 schematów. Wszystko działa w przeglądarce. Do pobrania są połączony schemat JSON, raport JSON i lista konfliktów CSV. Tablica JSON schematów lub jeden schemat z allOf. Obsługiwany jest też YAML. Do 100000 znaków. Sprawdź ustawienia przed uruchomieniem.
Twój wynik
Łączenie schematów JSON Schema
- Wklej tablicę JSON schematów lub jeden schemat, którego allOf je wymienia.
- Wybierz wersję JSON Schema lub pozostaw automatyczne wykrywanie.
- Uruchom łączenie i sprawdź konflikty oraz reguły zachowane w allOf.
- Pobierz połączony schemat i raport konfliktów.
Warto wiedzieć
Przyjmuje do 100 000 znaków i od 2 do 50 schematów. Wszystko działa w przeglądarce. Do pobrania są połączony schemat JSON, raport JSON i lista konfliktów CSV.
Jak łączą się reguły
Typy, wyliczenia i wartości const są przecinane, granice minimalne i maksymalne przyjmują bardziej restrykcyjną wartość, listy required są łączone, a właściwości scalane pojedynczo. Gdy jeden schemat zabrania dodatkowych właściwości, zabroniona jest też właściwość zdefiniowana tylko przez inny schemat, a konflikt jest wykazywany, jeśli ta właściwość jest wymagana.
Co pozostaje w allOf
Niektórych słów kluczowych nie można dokładnie połączyć, np. dwóch różnych wyrażeń regularnych, oneOf, not, if i then, patternProperties obok innych reguł właściwości oraz właściwości nieocenionych. Są zachowywane w allOf w połączonym schemacie i wymieniane w raporcie, aby nie zmieniać znaczenia schematu.
Sprawdzanie wyniku
Konflikty wskazują swoje miejsce w schemacie. Konflikt w opcjonalnej właściwości lub regule dotyczącej tylko liczb sam w sobie nie czyni całego schematu niemożliwym do spełnienia. Raport ustawia provenUnsatisfiable tylko wtedy, gdy ograniczony dowód strukturalny wykazuje, że żadna instancja nie może spełnić połączonego schematu. W przeciwnym razie ta flaga nie jest dowodem spełnialności. Gdy nie ma konfliktów, opcjonalne kontrole przykładów sprawdzają za pomocą Ajv kandydatów z każdej kompozycji względem drugiej. Osobne schematy wejściowe zachowują własne korzenie lokalnych odwołań. Przykłady stanowią przesłanki, a nie wyczerpujący dowód równoważności. Walidator odrzuca schematy używające __proto__ jako klucza właściwości, wzorca lub zależności.