【发布时间】:2011-02-15 00:08:04
【问题描述】:
是否有任何 PHP 库可以根据 JSON Schema 验证 JSON 对象?
【问题讨论】:
-
这里列出了各种语言(以及每种语言的不同库)的实现:json-schema.org
标签: php json validation jsonschema
是否有任何 PHP 库可以根据 JSON Schema 验证 JSON 对象?
【问题讨论】:
标签: php json validation jsonschema
我正在使用 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 通过了更多的测试。至少在我最后一次运行测试时。问题是该项目的结构不是很好,而且看起来很丑。但我向你保证它非常稳定。它还允许您将关联数组验证为对象。
我首先用 selenium 编写了测试。之后我在 phpunit 中编写了它们。我不确定是否有 phpunit 测试。
如果你试一试并且真的想使用它,我可以在 github 上使用 phpunit 测试为它创建一个分支。
Bruno Reis(将 js 移植到 php 的人)
【讨论】:
在JSON Schema website 上有一个list of the implementions,其中包括 PHP 中/用于验证器的其他内容:
jsv4-php - 支持第 4 版(公共领域/麻省理工学院)
php-json-schema(麻省理工学院)
json-schema(伯克利)
jvalidator (BSD3)
【讨论】:
您可以验证的不是 JSON,而是可以从许多来源(JSON、XML、Post Data)获得的 PHP 数组。要检查您的数组是否与模式匹配,您可以查看https://github.com/ptrofimov/matchmaker
【讨论】: