hampel / json
一个简单的json_encode和json_decode的包装器,具有基于异常的错误处理
2.4.1
2019-10-14 02:20 UTC
Requires
- php: >=5.5.0
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ~7.0|~8.0
README
一个简单的json_encode和json_decode的包装器,具有基于异常的错误处理
由Simon Hampel编写
注意:从PHP v7.3开始,现在对于这两个原生命令都有一个JSON_THROW_ON_ERROR
选项,这应该使这个包变得过时。
安装
要使用composer安装,请运行以下命令
composer require hampel/json
注意,这个包有三个版本,取决于你使用的PHP版本
- v2.1 支持 PHP >= v5.3.3
- v2.2 支持 PHP >= v5.4.0
- v2.3 支持 PHP >= v5.5.0
这三个版本将并行维护
用法
所有参数都与PHP函数json_encode和json_decode的指定参数相同。
这个类提供的主要区别是,当出现错误时,它会抛出异常,并自动将错误代码转换为有意义的文本。
<?php use Hampel\Json\Json; use Hampel\Json\JsonException; $data = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); // Encode a variable as JSON: echo Json::encode($data); // Encode options $options = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP; echo Json::encode($data, $options); // Decode JSON: print_r(Json::decode('{"a":1,"b":2,"c":3,"d":4,"e":5}')); // Error handling try { Json::decode('{"a":1,"b":2,"c":3,"d":4,"e":5'); // missing } } catch (JsonException $e) { echo "Oops: " . $e->getMessage(); }