2013-08-12 6 views
5

Ich versuche ein JSON-Schema basierend auf der Beziehung zwischen zwei Elementen des JSON-Objekts zu validieren.JSON Schema: Element ist basierend auf dem Wert eines anderen Elements gültig

Nach dem Entwurf von JSON Schema:

4,2: Elemente eines json mit inter-depedant Schlüsselwörter zu validieren. Inter-abhängige Schlüsselwörter

Um eine Instanz zu validieren, werden einige Schlüsselwörter durch die Anwesenheit (oder Abwesenheit) anderer Schlüsselwörter von der beeinflusst. In diesem Fall werden alle diese Schlüsselwörter im selben Abschnitt gruppiert.

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

Mein Problem ist, dass der Entwurf, sagt nicht wirklich, wie das Schema, um diese Validierung zu schaffen, zu schreiben. Was ich tun muss, ist ein JSon wie folgt zu validieren:

{ a: 1, b: 2} 

Wenn a immer niedriger oder gleich b ist. Kann das gemacht werden? Wie schreibe ich das Schema?

Dank

Antwort

5

Was das Teil der Spezifikation ist, bedeutet (zum Beispiel), dass das Verhalten des "additionalItems" Schlüsselwort auf dem nächste in der Spezifikation miteinander "items" Schlüsselwort, so dass die beiden Schlüsselwörter platziert abhängt.

Leider ist diese Art der vergleichenden Validierung von zwei Werten im JSON-Schema nicht möglich. Alle Wertbeschränkungen werden unabhängig voneinander berechnet.

+0

Ich sehe, ok, ich schätze die Erklärung, ich vermisse die Docs dann verstanden .. – Deleteman

+1

Hallo - kleines Update zu diesem. Die nächste Version von JSON Schema (v5) könnte ein neues Schlüsselwort haben: ['$ data'] (https://github.com/json-schema/json-schema/wiki/%24data-%28v5-proposal%29) . Mit diesem Keyword können Sie genau das machen, was Sie wollen - also lohnt es sich, den Fortschritt von v5 im Auge zu behalten, was hoffentlich bald der Fall sein wird! :) – cloudfeet

+0

danke für das Update! : D – Deleteman

Verwandte Themen