是否有任何 PHP 库可以根据 JSON Schema 验证 JSON 对象?
5 回答
我正在使用 Justin Rainbow 的 JSON Schema for PHP https://github.com/justinrainbow/json-schema,对此我很满意。
它是http://jsonschemaphpv.sourceforge.net/的一个分支
您可以通过 Composer 轻松安装它。
看看http://json-schema.org/implementations.html。它有一些 php 和其他语言的验证器。
关于 jsonschemaphpv,虽然它维护得不是很好,但我们经常使用它并且它可以工作。这是来自 js 验证器的端口。它有一个针对 php 和http://code.google.com/p/jsonschema/运行的完整测试套件。
你猜怎么着……它比 js 通过了更多的测试。至少在我最后一次运行测试时。问题是该项目的结构不是很好,而且看起来很丑。但我向你保证它非常稳定。它还允许您将关联数组验证为对象。
我首先用硒编写了测试。之后我在 phpunit 中编写了它们。我不确定是否有 phpunit 测试。
如果你试一试并且真的想使用它,我可以使用 phpunit 测试在 github 上为它创建一个分支。
Bruno Reis(将 js 移植到 php 的人)
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)
您可以验证的不是 JSON,而是可以从许多来源(JSON、XML、Post Data)获得的 PHP 数组。要检查您的数组是否匹配模式,您可以查看https://github.com/ptrofimov/matchmaker