hypercharge / json-schema-php
A library to validate a json schema.
1.3.4
2015-12-14 10:44 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- json-schema/json-schema-test-suite: 1.1.0
- phpunit/phpunit: ~3.7.0
This package is not auto-updated.
Last update: 2024-12-21 15:13:50 UTC
README
A PHP Implementation for validating JSON
Structures against a given Schema
.
See json-schema for more details.
Installation
Library
$ git clone https://github.com/justinrainbow/json-schema.git
Dependencies
Composer
(will use the Composer ClassLoader)
$ wget http://getcomposer.org/composer.phar
$ php composer.phar install
Usage
<?php // Get the schema and data as objects $retriever = new JsonSchema\Uri\UriRetriever; $schema = $retriever->retrieve('file://' . realpath('schema.json')); $data = json_decode(file_get_contents('data.json')); // If you use $ref or if you are unsure, resolve those references here // This modifies the $schema object $refResolver = new JsonSchema\RefResolver($retriever); $refResolver->resolve($schema, 'file://' . __DIR__); // Validate $validator = new JsonSchema\Validator(); $validator->check($data, $schema); if ($validator->isValid()) { echo "The supplied JSON validates against the schema.\n"; } else { echo "JSON does not validate. Violations:\n"; foreach ($validator->getErrors() as $error) { echo sprintf("[%s] %s\n", $error['property'], $error['message']); } }
Running the tests
$ phpunit