# Class Standards.JSON.Validator

Description

  An instance of this class can be used to validate a JSON object against a JSON schema.

Example

      string schema_s = "{\n" +
             "  \"name\": \"SomeExample\",\n" +
             "  \"type\": \"object\",\n" +
             "  \"properties\": {\n" +
             "      \"name\": { \"type\": \"string\" },\n" +
             "      \"id\": {\n" +
             "          \"type\": \"integer\",\n" +
             "          \"minimum\": 0\n" +
             "      }\n" +
             "  }\n" +
             "}";
         string example_s = "{\n" +
             "  \"name\": \"An Example\",\n" +
             "  \"id\": 17\n" +
             "}";
         mixed schema = Standards.JSON.decode(schema_s);
         mixed example = Standards.JSON.decode(example_s);
         if (string error = Standards.JSON.Validator(schema).validate(example))
            werror("Error: JSON string %O did not validate: %s\n", example_s, error);
         else
            write("JSON ok\n");

Note

  This class validates only a subset of the JSON schema specification. Currently dependencies and references are not handled and regular expressions (for pattern properties) are limited to those that can be handled by Regexp.SimpleRegexp.

  For more information of JSON schema look at http://json-schema.org/documentation.html "The home of JSON Schema".

Method create

  `Standards.JSON.Validator Standards.JSON.Validator(`mixed` `_schema`)`

Description

  Create a JSON validator for some JSON schema.

Parameter `_schema`

  The JSON schema to use in validate(). This must be a valid JSON object.

Throws

  Throws an error if the schema is invalid.