JSON::Schema::Modern::Error - Contains a single error from a JSON Schema evaluation
my $js = JSON::Schema::Modern->new;
my $result = $js->evaluate($data, $schema);
my @errors = $result->errors;
my $message = $errors->error;
my $instance_location = $errors->instance_location;
my $errors_encoded = encode_json(\@errors);
An instance of this class holds one error from evaluating a JSON Schema with JSON::Schema::Modern.
The keyword that produced the error; might be undef.
The path in the instance where the error occurred; encoded as per the JSON Pointer specification (RFC 6901).
The schema path taken during evaluation to arrive at the error; encoded as per the JSON Pointer specification (RFC 6901).
The canonical URI or URI reference of the location in the schema where the error occurred; not defined, if there is no base URI for the schema and no $ref was followed. Note that this is not a fragmentless URI in most cases, as the indicated error will occur at a path below the position where the most recent identifier had been declared in the schema. Further, if the schema never declared an absolute base URI (containing a scheme), this URI won't be absolute either.
The actual error string.
Indicates the error's severity is sufficient to stop evaluation.
Returns a data structure suitable for serialization. Corresponds to one output unit as specified in https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.10.4.2 and https://json-schema.org/draft/2019-09/output/schema, except that instanceLocation and keywordLocation are JSON pointers, not URI fragments. (See the strict_basic "output_format" in JSON::Schema::Modern if the distinction is important to you.)
Returns a JSON string representing the error object, according to the specification.
Bugs may be submitted through https://github.com/karenetheridge/JSON-Schema-Modern/issues.
I am also usually active on irc, as 'ether' at irc.perl.org and irc.libera.chat.
You can also find me on the JSON Schema Slack server and OpenAPI Slack server, which are also great resources for finding help.
Karen Etheridge <email@example.com>
This software is copyright (c) 2020 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install JSON::Schema::Modern, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.