Need help with php-json-schema?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

hasbridge
126 Stars 37 Forks MIT License 32 Commits 15 Opened issues

Description

PHP 5.3 implementation of json schema validation.

Services available

!
?

Need anything else?

Contributors list

# 81,344
PHP
guzzle
curl
webserv...
22 commits
# 170,289
HTML
Front e...
Shell
PHP
1 commit
# 552
PHP
Shell
Amazon ...
curl
1 commit
# 690,234
PHP
1 commit

This library provides JSON schema validation using the schema found at http://json-schema.org. Note that it is not yet feature complete, but does support basic validation. The JSON schema draft can be found at http://tools.ietf.org/html/draft-zyp-json-schema-03

Requirements

  • PHP 5.3 or greater (requires namespace and closure support)

Usage

$someJson = '{"foo":"bar"}';
$jsonObject = json_decode($someJson);

$validator = new JsonValidator('/path/to/yourschema.json');

$validator->validate($jsonObject);

Supported Types

Types may be defined as either a single string type name, or an array of allowable type names.

  • string
  • number
  • integer
  • boolean
  • object
  • array
  • null
  • any

Supported Definitions

Not all definitions are yet supported, but here is a list of those which are:

  • properties (object)
  • additionalProperties (object)
  • required (all)
  • pattern (string)
  • minLength (string)
  • maxLength (string)
  • format (string, number, integer)
  • minimum (number, integer)
  • maximum (number, integer)
  • exclusiveMinimum (number, integer)
  • exclusiveMaximum (number, integer)
  • divisibleBy (number, integer)
  • enum (array)
  • minItems (array)
  • maxItems (array)
  • uniqueItems (array)
  • items (array)
  • disallow (all)

The following definitions are not yet supported:

  • patternProperties
  • dependencies
  • extends
  • id
  • $ref
  • $schema

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.