jsonschema is an implementation of the JSON Schema specification for Python. It checks whether JSON-compatible data conforms to a declarative schema describing the expected structure, types and constraints of a document.
JSON Schema is useful when different applications or services exchange structured information. A schema can specify which properties must be present, what values they may contain, and how arrays and nested objects should be organised. This makes it possible to validate data independently of the application that produced it.
The library provides both straightforward validation and more detailed interfaces for examining failures. Developers can incorporate these checks into applications, automated tests and data processing workflows. It supports multiple generations of the JSON Schema specification, allowing existing schemas to coexist with newer ones.
This is free and open source software.
Key Features
- Validate JSON-compatible objects against JSON Schema documents.
- Support Draft 2020-12, Draft 2019-09, Draft 7, Draft 6, Draft 4 and Draft 3.
- Check required properties, types, numeric limits and string constraints.
- Validate nested objects, arrays, enumerations and conditional schemas.
- Use schema references and reusable definitions to organise complex validation rules.
- Choose the appropriate validator class for a particular schema draft.
- Collect validation failures iteratively rather than stopping at the first error.
- Inspect the paths and schema locations associated with validation failures.
- Extend type checking to accommodate application-specific data types.
- Enable format checking for supported string formats.
- Validate schemas themselves against their corresponding meta-schemas.
- Use the library as a component in testing and data processing tools.
Website: github.com/python-jsonschema/jsonschema
Support:
Developer: Julian Berman and contributors
License: MIT License
jsonschema is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Python Data Validation | |
|---|---|
| Pydantic | Data validation using Python type hints |
| pandera | Framework for precision data testing |
| jsonschema | Implementation of JSON Schema for Python |
| Cerberus | Lightweight and extensible data validation library |
| schema | Library for validating Python data structures |
| GX | Validating, documenting, and profiling data |
| marshmallow | ORM/ODM/framework-agnostic library |
| Voluptuous | Python data validation library |
| Schematics | Combine types into structures, validate , and transform the shapes of data |
| Colander | Serialization / deserialization / validation library |
| Valideer | Lightweight data validation and adaptation Python library |
| OpenRefine | Desktop program for data cleanup and transformation |
| Soda Core | Data quality and data contract verification engine |
| OpenMetadata | Unified metadata platform |
| Elementary OSS | dbt-native data observability command-line tool |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.