getdkan/rooted-json-data

在强制执行JSON Schema的同时访问和修改基于JSON的数据对象

0.2.2 2024-05-29 16:40 UTC

README

Build status Maintainability Test Coverage

在强制执行JSON Schema的同时访问和修改基于JSON的数据对象。

此库主要将JsonPath-PHPOpis JSON Schema连接起来,提供了一个类似小型内部服务的JSON Object类。数据可以通过简单的API添加、检索和修改,任何更改都会立即引发重新验证。通过具有可操作消息的异常来处理验证错误。

示例

$json = '{"number":3}';
$schema = '{"type": "object","properties": {"number":{ "type": "number" }}}';
$data = new RootedJsonData($json, $schema);
echo $data->{"$.number"}; // 3
echo $data->{"$[number]"}; // 3
echo "{$data}"; // {"number":3}
$data->{"$.number"} = "three"; // EXCEPTION