Struct jsonschema::JSONSchema [−][src]
pub struct JSONSchema { /* fields omitted */ }
Expand description
The structure that holds a JSON Schema compiled into a validation tree
Implementations
Return a default CompilationOptions
that can configure
JSONSchema
compilaton flow.
Using options you will be able to configure the draft version
to use during JSONSchema
compilation
Example of usage:
let maybe_jsonschema: Result<JSONSchema, _> = JSONSchema::options()
.with_draft(Draft::Draft7)
.compile(&schema);
Compile the input schema into a validation tree.
The method is equivalent to JSONSchema::options().compile(schema)
Run validation against instance
and return an iterator over ValidationError
in the error case.
Run validation against instance
but return a boolean result instead of an iterator.
It is useful for cases, where it is important to only know the fact if the data is valid or not.
This approach is much faster, than validate
.
Apply the schema and return an Output
. No actual work is done at this point, the
evaluation of the schema is deferred until a method is called on the Output
. This is
because different output formats will have different performance characteristics.
Examples
“basic” output format
let schema_json = serde_json::json!({
"title": "string value",
"type": "string"
});
let instance = serde_json::json!{"some string"};
let schema = JSONSchema::options().compile(&schema_json).unwrap();
let output: BasicOutput = schema.apply(&instance).basic();
let output_json = serde_json::to_value(output).unwrap();
assert_eq!(output_json, serde_json::json!({
"valid": true,
"annotations": [
{
"keywordLocation": "",
"instanceLocation": "",
"annotations": {
"title": "string value"
}
}
]
}));
The CompilationOptions
that were used to compile this schema
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for JSONSchema
impl Send for JSONSchema
impl Sync for JSONSchema
impl Unpin for JSONSchema
impl !UnwindSafe for JSONSchema
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more