hampel/json

一个简单的json_encode和json_decode的包装器,具有基于异常的错误处理

2.4.1 2019-10-14 02:20 UTC

This package is auto-updated.

Last update: 2024-09-10 04:28:32 UTC


README

Latest Version on Packagist Total Downloads Open Issues License

一个简单的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();
}