是否有任何PHP库根据JSON模式验证JSON对象?
答案 0 :(得分:9)
看看http://json-schema.org/implementations.html。它有一些PHP和其他语言的验证器。
答案 1 :(得分:9)
我正在使用Justin Rainbow的JSON Schema for PHP https://github.com/justinrainbow/json-schema,我很高兴。
这是http://jsonschemaphpv.sourceforge.net/
的分支您可以通过Composer轻松安装。
答案 2 :(得分:5)
关于jsonschemaphpv,虽然它维护得不是很好,但我们经常使用它并且它有效。它是js验证器的一个端口。它有一个完整的测试套件,可以运行php和http://code.google.com/p/jsonschema/。
猜猜是什么......它传递的测试多于js。至少在最后一次我运行测试。问题是项目结构不是很好,看起来很难看。但我确保你很稳定。它还允许您将关联数组验证为对象。
我先在selenium中写过测试。之后我用phpunit写了它们。我不确定phpunit测试是否存在。
如果你尝试一下并且真的想要使用它,我可以在github上使用phpunit测试启动它的分支。
Bruno Reis(将js移植到php的人)
答案 3 :(得分:2)
您可以验证不是JSON,而是可以从许多来源(JSON,XML,Post Data)获取的PHP数组。要检查您的数组是否与模式匹配,您可以查看https://github.com/ptrofimov/matchmaker
答案 4 :(得分:2)
在JSON Schema website上有一个list of the implementions,其中包括PHP中的验证器:
jsv4-php - 支持第4版(公共领域/ MIT)
php-json-schema(麻省理工学院)
json-schema(伯克利)
jvalidator(BSD3)