NAME

JSON::Structure - JSON Structure validation library for Perl

SYNOPSIS

use JSON::Structure qw(:all);
use JSON::MaybeXS;

# Validate a schema
my $schema = decode_json($schema_json);
my $validator = JSON::Structure::SchemaValidator->new();
my $result = $validator->validate($schema, $schema_json);

if ($result->is_valid) {
    say "Schema is valid!";
} else {
    for my $error (@{$result->errors}) {
        say $error->to_string;
    }
}

# Validate an instance against a schema
my $instance_validator = JSON::Structure::InstanceValidator->new(schema => $schema);
my $instance = decode_json($instance_json);
my $result = $instance_validator->validate($instance, $instance_json);

DESCRIPTION

This module provides validators for JSON Structure schemas and instances, conforming to the JSON Structure Core specification.

JSON Structure is a type-oriented schema language for JSON, designed for defining data structures that can be validated and mapped to programming language types.

FUNCTIONS

validate_schema($schema, $source_text)

Convenience function to validate a JSON Structure schema.

my $result = validate_schema($schema, $schema_json);

validate_instance($instance, $schema, $source_text)

Convenience function to validate a JSON instance against a schema.

my $result = validate_instance($instance, $schema, $instance_json);

SEE ALSO

AUTHOR

JSON Structure Project

LICENSE

MIT License