ergebnis/json-schema-validator

提供了一个基于justinrainbow/json-schema的JSON模式验证器。

4.2.0 2024-01-29 16:50 UTC

README

Integrate Merge Release Renew

Code Coverage Type Coverage

Latest Stable Version Total Downloads Monthly Downloads

本项目提供了一个基于composer的JSON模式验证器包,它基于justinrainbow/json-schema

安装

运行

composer require ergebnis/json-schema-validator

用法

如果你之前使用过来自justinrainbow/json-schema的验证器,你可能已经注意到它存在一些缺陷

  • 验证器是状态性的。
  • 验证器在验证之前需要解码JSON字符串。
  • 验证器返回一个包含错误信息的array,其中每个错误也是一个array

本包将验证委托给justinrainbow/json-schema,并提供一个更友好的接口。

<?php

declare(strict_types=1);

use Ergebnis\Json\Json;
use Ergebnis\Json\Pointer;
use Ergebnis\Json\SchemaValidator;

$json = Json::fromFile('composer.json');
$schema = Json::fromString(file_get_contents('https://getcomposer.org.cn/schema.json'));
$jsonPointer = Pointer\JsonPointer::document();

$schemaValidator = new SchemaValidator\SchemaValidator();

$result = $schemaValidator->validate(
    $json,
    $schema,
    $jsonPointer
);

var_dump($result->isValid()); // bool
var_dump($result->errors());  // flat list of `ValidationError` value objects

更新日志

本项目维护者记录了本项目的重要更改,详情请见更新日志

贡献

本项目维护者建议遵循贡献指南

行为准则

本项目维护者要求贡献者遵守行为准则

一般支持策略

本项目维护者提供有限的支持。

您可以通过赞助 @localheinz请求与本项目的相关服务的发票来支持本项目的维护。

PHP版本支持策略

本项目支持拥有活跃和安全支持的PHP版本。

本项目维护者在PHP版本最初发布时添加对该版本的支持,并在安全支持结束时停止对该版本的支持。

安全策略

本项目有一个安全策略

许可证

本项目使用MIT许可证

社交

关注Twitter上的@localheinz@ergebnis