2016-12-07 10 views
4

カスタムプロパティを使用してJSONスキーマを拡張することは有効ですか?JSONスキーマのカスタムプロパティ

私はスキーマを使ってJSON用のフォームをレンダリングするので、スキーマは説明しています(スキーマに記述されている各プロパティは、ラベルと入力のフォーム要素として使用されます)。

主にフォームのレンダリングに使用するいくつかのプロパティでスキーマを拡張できるのは便利ですが、スキーマを使用してJSONオブジェクト自体を検証する場合は無視されます。

私はJSONオブジェクトに対して2つの異なる表現を持つことができます(1つはスキーマであり、1つはフォームの作成専用のカスタムプロパティを持つオブジェクトのようなスキーマですが、両方を組み合わせることができればメンテナンスが簡単です) 1)。

残念ながら、Googleはあまり役に立たなかったし、JSONスキーマを使って膨大な経験をしていないので、明らかに何かが不足していると謝っている。

編集1:
例スキーマスニペット:上記

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

titleなど

+0

を参照して、JSONスキーマを拡張することができます新しいプロパティを追加してJSONオブジェクトを作成するif結局のところ、JSONはまだ有効です。例を教えてください。 – PMerlet

+0

@Cubi JSONスキーマにカスタムプロパティが含まれている場合、JSONスキーマがJSONスキーマパーサーによって正しく解析できるかどうかについて詳しく説明します。上記の例を追加しました。 –

答えて

4

$schema(それが有効かどう持っていないので、単なるスニペットで、 JSON)、バリデータはおそらくあなたのカスタムプロパティを無視します。しかし、どのようなバリデーターを使用しようとしていますか?特定のバリデータと照合してください。

ここでは、テストにいくつかのオンラインのバリデータがあります。

をまた、あなたはあなたが拡張することができhttp://json-schema.org/latest/json-schema-core.html#rfc.section.6.4

+0

エースありがとう!それが私が探していたものです! –