Description Usage Arguments Examples
Validate a single json against a schema. This is a convenience
wrapper around json_validator(schema)(json)
. See
json_validator()
for further details.
1 2 3 4 5 6 7 8 9 10 11 |
json |
Contents of a json object, or a filename containing one. |
schema |
Contents of the json schema, or a filename containing a schema. |
verbose |
Be verbose? If |
greedy |
Continue after the first error? |
error |
Throw an error on parse failure? If |
engine |
Specify the validation engine to use. Options are "imjv" (the default; which uses "is-my-json-valid") and "ajv" (Another JSON Schema Validator). The latter supports more recent json schema features. |
reference |
Reference within schema to use for validating against a
sub-schema instead of the full schema passed in. For example
if the schema has a 'definitions' list including a definition for a
'Hello' object, one could pass "#/definitions/Hello" and the validator
would check that the json is a valid "Hello" object. Only available if
|
query |
A string indicating a component of the data to
validate the schema against. Eventually this may support full
jsonpath syntax, but
for now this must be the name of an element within |
strict |
Set whether the schema should be parsed strictly or not.
If in strict mode schemas will error to "prevent any unexpected
behaviours or silently ignored mistakes in user schema". For example
it will error if encounters unknown formats or unknown keywords. See
https://ajv.js.org/strict-mode.html for details. Only available in
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | # A simple schema example:
schema <- '{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Product",
"description": "A product from Acme\'s catalog",
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for a product",
"type": "integer"
},
"name": {
"description": "Name of the product",
"type": "string"
},
"price": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
},
"required": ["id", "name", "price"]
}'
# Test if some (invalid) json conforms to the schema
jsonvalidate::json_validate("{}", schema, verbose = TRUE)
# Test if some (valid) json conforms to the schema
json <- '{
"id": 1,
"name": "A green door",
"price": 12.50,
"tags": ["home", "green"]
}'
jsonvalidate::json_validate(json, schema)
# Test a fraction of a data against a reference into the schema:
jsonvalidate::json_validate(json, schema,
query = "tags", reference = "#/properties/tags",
engine = "ajv", verbose = TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.