sgmendez/json

用于操作JSON数据的PHP库

v1.0.5 2015-08-26 23:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:34:42 UTC


README

License SensioLabsInsight Latest Stable Version Total Downloads Latest Unstable Version

简介

这个PHP库为json_encodejson_decode PHP函数创建了一个包装器,以规范跨PHP版本的用法,并在编码或解码失败时抛出异常。

要求

此库需要PHP 5.3.3或更高版本

安装

您可以使用Composer将此库用于您的应用程序。

如果您还没有Composer,请按照http://getcomposer.org/上的说明下载,或者直接运行以下命令

curl -s http://getcomposer.org/installer | php

然后执行此命令将库添加到您的项目中

$ composer require sgmendez/json

或者在您的composer.json文件中require sgmendez/json

json
{
    "require": {
        "sgmendez/json": "*"
    }
}

测试

您可以在test目录中运行PHPUnit测试,执行

$ php phpunit.phar .

在此目录中有一个phpunit.phar的副本用于执行测试

示例

编码JSON数据

php
use Sgmendez\Json\Json;

$json = new Json();

try
{
    $arrayData = array('foo' => 'Foo', 'bar' => 'Bar');
    $jsonData = $json->encode($arrayData);
} 
catch (Exception $ex) 
{
    echo '[EXCEPTION] MSG: '.$ex->getMessage().' | FILE: '.$ex->getFile().': '.$ex->getLine()."\n";
}

解码JSON字符串(默认返回数组数据)

php
use Sgmendez\Json\Json;

$json = new Json();

try
{
    $jsonData = '{"foo":"Foo","bar":"Bar"}';
    $dataArray = $json->decode($jsonData);
} 
catch (Exception $ex) 
{
    echo '[EXCEPTION] MSG: '.$ex->getMessage() .
         ' | FILE: '.$ex->getFile().': '.$ex->getLine()."\n";
}


解码JSON文件(默认返回数组数据)

php
use Sgmendez\Json\Json;

$json = new Json();

try
{
    $dataArray = $json->decodeFile('/path/to/file.json');
} 
catch (Exception $ex) 
{
    echo '[EXCEPTION] MSG: '.$ex->getMessage() .
         ' | FILE: '.$ex->getFile().': '.$ex->getLine()."\n";
}

如果您需要检查是否是有效的JSON数据,可以使用checkValidJsonData()方法。

许可

在BSD许可证下授权

https://open-source.org.cn/licenses/bsd-license.php