2013-08-12 13 views
5

Próbuję sprawdzić poprawność schematu json na podstawie relacji między dwoma elementami obiektu json.JSON Schema: Element jest poprawny na podstawie wartości innego elementu.

Zgodnie z projektem JSON schemacie, w celu potwierdzenia elementy JSON Inter-depedant kluczowych:

4,2. Współzależne słowa kluczowe

Aby sprawdzić poprawność wystąpienia, na niektóre słowa kluczowe wpływa obecność (lub brak) innych słów kluczowych. W takim przypadku wszystkie te słowa kluczowe będą grupowane w tej samej sekcji.

http://json-schema.org/latest/json-schema-validation.html#anchor9

Moim problemem jest to, że projekt, nie naprawdę powiedzieć jak napisać schemat w celu zapewnienia, że ​​walidacji. To, co muszę zrobić, to sprawdzić json w następujący sposób:

{ a: 1, b: 2} 

Kiedy a jest zawsze niższe lub równe b. Czy można to zrobić? Jak napisać schemat?

Dzięki

Odpowiedz

5

Co ta część specyfikacji Oznacza to (na przykład), że zachowanie "additionalItems" słowa kluczowego zależy od słów kluczowych "items", więc te dwa słowa kluczowe są umieszczone obok siebie w spec.

Niestety ten rodzaj porównawczej weryfikacji dwóch wartości nie jest możliwy w schemacie JSON. Wszystkie ograniczenia wartości są obliczane niezależnie.

+0

Widzę, ok, doceniam wyjaśnienie, tęsknię zrozumiałem docs to .. – Deleteman

+1

Witam - mała aktualizacja na ten temat. Następna wersja JSON Schema (v5) może mieć nowe słowo kluczowe: ['$ data'] (https://github.com/json-schema/json-schema/wiki/%24data-%28v5-proposal%29) . To słowo kluczowe pozwoliłoby ci zrobić dokładnie to, czego chcesz - warto więc mieć na uwadze postęp w wersji 5, co, mam nadzieję, wkrótce! :) – cloudfeet

+0

dzięki za aktualizację! : D – Deleteman

Powiązane problemy