JSON Schema Rust Validator

0.45.1 · active · verified Thu Apr 09

jsonschema-rs is a high-performance JSON Schema validator for Python, backed by a Rust implementation. It provides fast validation of JSON data against JSON schemas according to various draft specifications. The library is actively maintained with frequent releases, often synchronized across its Python, Ruby, and Rust bindings.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to define a JSON schema, load it, and use `jsonschema_rs.JSONSchema` to validate JSON instances. It shows both a valid and an invalid instance, demonstrating how `ValidationError` is raised for invalid data.

import jsonschema_rs
import json

schema_str = '''
{
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "age": {"type": "integer", "minimum": 0}
    },
    "required": ["name", "age"]
}
'''

instance_valid_str = '''
{
    "name": "Alice",
    "age": 30
}
'''

instance_invalid_str = '''
{
    "name": "Bob",
    "age": -5
}
'''

schema = json.loads(schema_str)
instance_valid = json.loads(instance_valid_str)
instance_invalid = json.loads(instance_invalid_str)

validator = jsonschema_rs.JSONSchema.from_dict(schema)

# Validate a valid instance
try:
    validator.validate(instance_valid)
    print("Valid instance passed validation.")
except jsonschema_rs.ValidationError as e:
    print(f"Valid instance failed validation unexpectedly: {e}")

# Validate an invalid instance
try:
    validator.validate(instance_invalid)
    print("Invalid instance passed validation unexpectedly.")
except jsonschema_rs.ValidationError as e:
    print(f"Invalid instance caught validation error: {e.message}")

view raw JSON →