PHPackages                             urbanminded/json-verifier - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. urbanminded/json-verifier

ActiveLibrary

urbanminded/json-verifier
=========================

Lightweight JSON verifier

v1.1.0(5y ago)271MITPHP

Since Sep 24Pushed 5y ago1 watchersCompare

[ Source](https://github.com/urbanminded/json-verifier)[ Packagist](https://packagist.org/packages/urbanminded/json-verifier)[ RSS](/packages/urbanminded-json-verifier/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

JSONVerifier
============

[](#jsonverifier)

```
use JSONVerifier\Verifier;

$schema = [
    // 'name' must be a string
    'name' => 'string',

    // 'age' is an optional key.
    // if present it must be an integer.
    '?age' => 'int',

    // 'favouriteFood' is an optional key.
    // if present it must be a string or null.
    '?favouriteFood' => '?string',

    // 'pets' must be an array of objects matching the
    // prescribed shape.
    'pets' => Verifier::arrayOf('string', [
        'name' => 'string',
        'species' => 'string'
    ])
];

$verifier = new Verifier();
$verifier->verifyObject($schema, [
    'name' => 'Jason',
    'favouriteFood' => null,
    'pets' => [
        'Dora',
        ['name' => 'Ruby', 'species' => 'cat'],
        ['name' => 'Byron', 'species' => 'cat'],
        ['name' => 'Mitzi', 'species' => 'cat'],
    ]
]);
```

Installation
------------

[](#installation)

```
composer require urbanminded/json-verifier
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

2059d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/45974978?v=4)[URBANMINDED](/maintainers/urbanminded)[@urbanminded](https://github.com/urbanminded)

---

Top Contributors

[![jaz303](https://avatars.githubusercontent.com/u/3216?v=4)](https://github.com/jaz303 "jaz303 (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/urbanminded-json-verifier/health.svg)

```
[![Health](https://phpackages.com/badges/urbanminded-json-verifier/health.svg)](https://phpackages.com/packages/urbanminded-json-verifier)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
