2016-12-07 3 views
4

Kann ein JSON-Schema mit benutzerdefinierten Eigenschaften erweitert werden? Der Grund, den ich stelle, ist, weil ich ein Schema verwende, um auch ein Formular für das JSON zu rendern, das das Schema beschreibt (jede im Schema beschriebene Eigenschaft wird als ein Formularelement mit Label und irgendeiner Art von Eingabe verwendet).Benutzerdefinierte Eigenschaften im JSON-Schema

Es wäre nützlich, das Schema um einige Eigenschaften erweitern zu können, die ich hauptsächlich für das Formularrendering verwende, die jedoch ignoriert würden, wenn das Schema zur Validierung des JSON-Objekts selbst verwendet würde.

Ich könnte zwei verschiedene Darstellungen für das JSON-Objekt haben (eins ist das Schema und eins ist das schemaförmige Objekt mit benutzerdefinierten Eigenschaften, die ich nur zum Erstellen des Formulars verwende), aber es wäre einfacher für die Wartung, wenn ich beides kombinieren kann ein).

Leider war Google nicht sehr hilfreich und ich habe keine große Erfahrung mit JSON-Schemas, also Entschuldigung, wenn ich etwas offensichtlich vermisse.

Edit 1:
Beispiel Schema Snippet:

{ "title": "Example Schema", "type": "object", "properties": { "firstName": { "type": "string", "CUSTOM_PROPERTY": "CUSTOM_VALUE" } } }

Hinweis über das ist nur ein Ausschnitt und daher nicht title, $schema usw.

+0

Sie erweitern können ein JSON-Objekt durch Hinzufügen neuer Eigenschaften if Nach all dem JSON ist immer noch gültig. Können Sie bitte ein Beispiel zeigen? – PMerlet

+0

@Cubi Es geht mehr darum, ob das JSON-Schema von einem JSON-Schema-Parser korrekt analysiert werden kann, wenn es benutzerdefinierte Eigenschaften enthält. Oben ein Beispiel hinzugefügt. –

Antwort

4

hat (wenn es gültig ist JSON) Der Validator ignoriert höchstwahrscheinlich Ihre benutzerdefinierten Eigenschaften. Aber welcher Validator wirst du benutzen? Überprüfen Sie es gegen diesen bestimmten Prüfer.

Hier haben Sie einige Online-Validierer zu testen:

Auch können Sie JSON-Schema erweitern, sehen http://json-schema.org/latest/json-schema-core.html#rfc.section.6.4

+0

Ace danke! Das habe ich gesucht! –

Verwandte Themen