Is there any PHP library that validates a JSON object against a JSON Schema?
问题:
回答1:
About jsonschemaphpv, although it´s not very well maintained, we use it a lot and it works. It´s a port from the js validator. It has a full test suite that runs against the php and the http://code.google.com/p/jsonschema/.
And guess what... It passes on more tests than the js. At least at the last time I run the tests. The thing is that the project is not very well structured and looks ugly. But I ensure you it´s very stable. It also allows you to validate associative arrays as objects either.
I´ve written the tests in selenium first. After that I wrote them in phpunit. I´m not sure if the phpunit tests are there.
If you give it a try and really want to use it I can start a branch for it on github with the phpunit tests.
Bruno Reis (the person who ported the js to php)
回答2:
Take a look at http://json-schema.org/implementations.html . It has some validators in php and other languages.
回答3:
I'm using Justin Rainbow's JSON Schema for PHP https://github.com/justinrainbow/json-schema and I'm quite happy about it.
It's a fork of http://jsonschemaphpv.sourceforge.net/
You can easily install it via Composer.
回答4:
You could validate not JSON, but PHP array that could be obtained from many sources (JSON, XML, Post Data). To check if your array matches pattern you could take a look at https://github.com/ptrofimov/matchmaker
回答5:
On the JSON Schema website there is a list of the implementions, amongst other things of validators in/for PHP:
jsv4-php - supports version 4 (Public Domain / MIT)
php-json-schema (MIT)
json-schema (Berkeley)
jvalidator (BSD3)