JSON schema validation with PHP

2019-01-25 05:27发布

问题:

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)