getdkan / rooted-json-data
在强制执行JSON Schema的同时访问和修改基于JSON的数据对象
0.2.2
2024-05-29 16:40 UTC
Requires
- ext-json: *
- galbar/jsonpath: ^3.0
- opis/json-schema: ^1.0.8
Requires (Dev)
- phpunit/phpunit: ^9.4
- rector/rector: ^0.15.19
- squizlabs/php_codesniffer: ^3.7
- symfony/phpunit-bridge: ^7.0
This package is auto-updated.
Last update: 2024-08-23 12:43:28 UTC
README
在强制执行JSON Schema的同时访问和修改基于JSON的数据对象。
此库主要将JsonPath-PHP和Opis 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