bbop99
bbop99

Reputation: 1675

Custom Properties in JSON Schema

Is it valid to extend a JSON schema with custom properties?

The reason I am asking is, because I am using a schema to also render a form for the JSON the schema describes (each property described in the schema is used as a form element with label and some sort of input).

It would be useful to be able to extend the schema with some properties that I mainly use for the form rendering, but that would be ignored when using the schema to validate the JSON object itself.

I could have two different representations for the JSON object (one being the schema and one being the schema like object with custom properties that I just for creating the form, but it would be easier for maintenance if I can combine both in one).

Unfortunately Google wasn't very helpful and I don't have a huge amount of experience using JSON schemas, so apologies if I am missing something obvious.

Edit 1:
Example Schema Snippet:

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

Note the above is just a snippet and hence doesn't have title, $schema etc.

Upvotes: 26

Views: 17364

Answers (1)

Pedro
Pedro

Reputation: 1965

(if it's valid JSON) the validator most probably will ignore your custom properties. But what validator are you going to use ? Check it against that particular validator.

Here you have some online validators to test:

Also, you can extend JSON schema, see https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.6.5

Upvotes: 19

Related Questions