以下是我试图验证的东西:
[编辑后删除-请参阅以下编辑以获取最新代码]
这应该失败,因为这里只有“商家”才应该被接受,但验证不会失败。它过去了。
我无法解决这个问题。我试过几种方法,但都没用。
这里怎么了?
---------------------- 编辑 ----------------------------
我被要求提供更多的代码。这是我需要验证的有效载荷。它是用PHP编写的。
$payload = (object) [];
$payload->query_string = (object) [];
$payload->query_string->include = (object) [
"merchant_channel",
"merchant",
];
下面是运行验证器的行:
$this->validator->validate(
$payload,
['$ref' => 'file://Schemas/the-json-file.json']
);
下面是我运行验证器所针对的文件:
{
"type": "object",
"properties": {
"query_string": {
"type": "object",
"properties": {
"include": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"allOf": [
{
"type": "string",
"enum": [
"language"
]
}
]
}
}
}
}
}
}
}
}
我正在使用这个软件包:
https://github.com/justinrainbow/json-schema
这个包很简单......
针对给定架构验证JSON结构的PHP实现。
您不必了解PHP就可以回答我的原始问题,这是特定于JSON模式验证的!
请不要评论/回答诸如“你错过了一个报价”或“你错过了一个结束括号”之类的话。显然,我必须减少这段代码,这样我就可以在堆栈溢出时发布它。
它缺少开头和结尾的花括号。