未找到类'JsonValidator'

问题描述:

https://github.com/hasbridge/php-json-schema未找到类'JsonValidator'

获取错误未找到类'JsonValidator'。 我确实在git文件夹中安装了composer.json。 我确实把我的json模式,json数据文件放在src/Json中,并创建了一个如git中提到的验证的php文件。 获取错误类未找到类'JsonValidator'。

+1

如果它没有像预期的那样工作,或者他们的文档不清楚,你有没有想过在他们的Github页面上添加一个问题?至少你需要向我们展示你的代码,以及你如何使用这个库。 –

+1

我们需要看到你想要调用这个类的代码。它是如何安装的(通过作曲家,直接下载等)。另外,如果您查看该类,则不会将其称为“JsonValidator”。它被称为“Validator”,位于名称空间“Json”中,因此应该称为“Json \ Validator”。 –

在他们的示例中,他们创建了JsonValidator对象。

这不同于该类的实际名称空间,即Json\Validator

尝试将use Json\Validator as JsonValidator放在文件的顶部,以便您可以像文档一样引用该类。

我想扩大自己的文档在:

$someJson = '{"foo":"bar"}'; 
$jsonObject = json_decode($someJson); 

$validator = new JsonValidator('/path/to/yourschema.json'); 

$validator->validate($jsonObject); 

<?php 

namespace Your\Domain; 

use Json\Validator as JsonValidator; 

require_once('./vendor/autoload.php'); 

$someJson = '{"foo": "bar"}'; 
$jsonObject = json_decode($someJson); 
$validator = new JsonValidator('/path/to/yourschema.json'); 

$validator->validate($jsonObject); 

或者,你可以为new Json\Validator('/path/to/yourschema.json')替代new JsonValidator('/path/to/yourschema.json')

编辑:顺便说一句 - 你可能会发现在使用这个库时,json-schema.org的示例模式很有用。

下面是该链接的主要原因之一:

{ 
    "title": "Example Schema", 
    "type": "object", 
    "properties": { 
     "firstName": { 
      "type": "string" 
     }, 
     "lastName": { 
      "type": "string" 
     }, 
     "age": { 
      "description": "Age in years", 
      "type": "integer", 
      "minimum": 0 
     } 
    }, 
    "required": ["firstName", "lastName"] 
} 

将该文件保存在项目中的某处,并参考代替/path/to/yourschema.json

+0

如果我运行代码,我正在变空白页。它是正确的数据和模式的输出? – gokul

+0

嘿@GokulnathSekar - 当你运行代码时,你期望看到什么? (这只是一个例子。) '/ path/to/yourschema.json'可能不存在于你的系统上,是吗? 此外,它听起来像你可能: 1 - 如果你看到一个空白页面有错误报告。 2 - 根本没有看到脚本的输出,这很好 - 它似乎不是通过确认输入有效,而是通过在无效时抛出错误来起作用。 https://github.com/hasbridge/php-json-schema/blob/master/src/Json/Validator.php#L53 我建议看看你的错误日志! –

+0

谢谢,是的,我只是想在json变得有效时继续下一个操作,我只是想要一个输出来确认json的有效性,这样我就可以将它作为确认来馈送,以便程序移动到更多的代码块 – gokul