mszewcz/php-json-utils

JSON 工具类

1.0.0 2017-11-01 22:42 UTC

This package is auto-updated.

Last update: 2024-09-16 09:04:34 UTC


README

JSON 工具类,提供编码、解码、base64url 编码和 base64url 解码方法。

Build Status Codacy Badge Codacy Badge

内容

安装

如果您使用 Composer 来管理依赖,只需在您的项目的 composer.json 文件中添加对 mszewcz/php-json-utils 的依赖即可。以下是一个 composer.json 的最小示例

{
    "require": {
        "mszewcz/php-json-utils": ">=1.0"
    }
}

您也可以克隆或下载此存储库。

php-json-utils 符合 PSR-4 自动加载标准。如果您使用 Composer,请包括其自动加载文件

require_once 'vendor/autoload.php';

如果您已克隆或下载了此存储库,您将需要自己编写 PSR-4 风格的自动加载实现。

用法

将数据编码为 JSON 字符串

use MS\Json\Utils\Utils;

$obj = new \stdClass();
$obj->flt = 5.5;
$obj->bool = true;

$data = ['int' => 8, 'str' => 'test/Ʃ', 'arr' => [$obj]];

$utils = new Utils();
try {
    $encoded = $utils->encode($data);
} catch (\Exception $e) {
    echo $e->getMessage();
}   

解码 JSON 字符串

use MS\Json\Utils\Utils;

$json = '{"int":8,"str":"test/Ʃ","arr":[{"flt":5.5,"bool":true}]}';

$utils = new Utils();
try {
    $decoded = $utils->decode($json);
} catch (\Exception $e) {
    echo $e->getMessage();
}   
*/

对字符串进行 base64url 编码

use MS\Json\Utils\Utils;

$data = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget purus ';
$data.= 'consectetur eros pellentesque ullamcorper. Sed justo tellus, porttitor non ';
$data.= 'porta ac, euismod eu mauris. Nam maximus pretium dapibus. Pellentesque in elit ';
$data.= 'placerat, sagittis justo id, elementum elit. Maecenas dignissim dui ac lectus ';
$data.= 'pretium condimentum. Morbi id ipsum in urna egestas varius in vitae quam. ';
$data.= 'Phasellus efficitur elementum sapien id dictum.';

$utils = new Utils();
$encoded = $utils->base64UrlEncode($data);

对字符串进行 base64url 解码

use MS\Json\Utils\Utils;

$data = 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4';
$data.= 'gTnVuYyBlZ2V0IHB1cnVzIGNvbnNlY3RldHVyIGVyb3MgcGVsbGVudGVzcXVlIHVsbGFtY29ycG';
$data.= 'VyLiBTZWQganVzdG8gdGVsbHVzLCBwb3J0dGl0b3Igbm9uIHBvcnRhIGFjLCBldWlzbW9kIGV1I';
$data.= 'G1hdXJpcy4gTmFtIG1heGltdXMgcHJldGl1bSBkYXBpYnVzLiBQZWxsZW50ZXNxdWUgaW4gZWxp';
$data.= 'dCBwbGFjZXJhdCwgc2FnaXR0aXMganVzdG8gaWQsIGVsZW1lbnR1bSBlbGl0LiBNYWVjZW5hcyB';
$data.= 'kaWduaXNzaW0gZHVpIGFjIGxlY3R1cyBwcmV0aXVtIGNvbmRpbWVudHVtLiBNb3JiaSBpZCBpcH';
$data.= 'N1bSBpbiB1cm5hIGVnZXN0YXMgdmFyaXVzIGluIHZpdGFlIHF1YW0uIFBoYXNlbGx1cyBlZmZpY';
$data.= '2l0dXIgZWxlbWVudHVtIHNhcGllbiBpZCBkaWN0dW0u';

$utils = new Utils();
$decoded = $utils->base64UrlDecode($data);

贡献

欢迎贡献。请通过 GitHub 拉取请求发送您的贡献

为错误修复的拉取请求必须基于 master 分支的最新稳定版本,而新功能的拉取请求必须基于 developer 分支。

由于时间限制,我可能无法像期望的那样快速回应。如果您觉得等待合并您的拉取请求的时间过长,请在此提醒我。

编码标准

我们遵循 PSR-2 编码风格和 PSR-4 自动加载标准。在发送您的拉取请求之前,请确保您也遵循这些标准。

许可证

php-json-utils 采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。