Provided by: libjson-schema-modern-perl_0.569-1_all
NAME
json-schema-eval - A command-line interface to JSON::Schema::Modern::evaluate()
VERSION
version 0.569
SYNOPSIS
json-schema-eval \ [ --specification_version|version <version> ] \ [ --output_format <format> ] \ [ --short_circuit ] \ [ --max_traversal_depth <depth> ] \ [ --validate_formats ] \ [ --validate_content_schemas ] \ [ --collect_annotations ] \ [ --strict ] \ [ --data <filename> ] \ [ --schema <filename> ] \ [ --validate-schema [filename] ] [ --add-schema <filename> ]
DESCRIPTION
A command-line interface to "evaluate" in JSON::Schema::Modern. data.json contains: {"hello": 42.1} schema.json contains: {"properties": {"hello": {"type": ["string", "integer"]}}} Run: json-schema-eval --data data.json --schema schema.json produces output: { "errors" : [ { "error" : "got number, not one of string, integer", "instanceLocation" : "/hello", "keywordLocation" : "/properties/hello/type" }, { "error" : "not all properties are valid", "instanceLocation" : "", "keywordLocation" : "/properties" } ], "valid" : false } Or run: json-schema-eval --validate-schema schema.json produces output: { "valid": true } The exit value ($?) is 0 when the result is valid, 1 when it is invalid, and some other non-zero value if an exception occurred.
OPTIONS
All boolean and string options used as constructors to JSON::Schema::Modern are available. Additionally, "--data" is used to provide the filename containing a json-encoded data instance, and "--schema" provides the filename containing a json-encoded schema. If either or both of these are not provided, STDIN is used as input. Only JSON-encoded data and schemas are supported at this time. Alternatively, you can use "--validate-schema" and either provide a filename containing a json-encoded schema, or omit the argument to read a schema from STDIN. The schema will be evaluated against its meta-schema for the corresponding specification version. Additional schemas, that you wish to use via the $ref keyword, can be added with "--add-schema <filename>". The actual filename is insignificant: Make sure you use an $id keyword within that schema that matches the value you use in the $ref. This option can be used more than once.
SUPPORT
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 <https://json-schema.slack.com> and OpenAPI Slack server <https://open-api.slack.com>, which are also great resources for finding help.
AUTHOR
Karen Etheridge <ether@cpan.org>
COPYRIGHT AND LICENCE
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.