hgg / json
编码、解码、验证、处理错误(异常)和美化打印 JSON
v0.1.0
2014-07-23 21:08 UTC
Requires
- php: >=5.3.3
- camspiers/json-pretty: v1.0.0
- justinrainbow/json-schema: *
Requires (Dev)
- phpunit/phpunit: ~3.7.0
This package is not auto-updated.
Last update: 2024-09-24 01:47:39 UTC
README
Json 是一个包含静态方法集合,用于简化 PHP 中处理 JSON。
特性
- encode 编码为 JSON 字符串,包含错误处理
- decode 从包含有效 JSON 的字符串或文件路径解码,包含错误处理
- validate 使用 JSON Schema 验证 JSON 文档
- pretty print 美化打印 JSON 字符串
安装
注意
这里使用的 json-schema 库版本目前是一个分支,所以您需要将以下内容添加到您的 composer.json 文件中。
"repositories": [ { "type": "vcs", "url": "http://github.com/hglattergotz/json-schema" } ],
依赖
- JsonPretty 由 Cam Spiers 开发的 Json 美化打印器
- JsonSchema 由 Justin Rainbow 开发的 Json Schema 验证库
使用方法
编码
<?php $data = array( 'field' => 'value' ); $jsonString = Json::encode($data);
从字符串解码
将 $jsonString 的内容解码为关联数组。
<?php $data = Json::decode($jsonString, true);
从文件解码
将 $path 文件的内容解码为关联数组。
<?php $data = Json::decode($path, true);
美化打印
注意,源可以是 JSON 字符串或数组。下面的调用使用默认的缩进 2 个空格。要使用不同的缩进,请将其作为第二个参数传递。
<?php $prettyJson = Json::prettyPrint($data);
错误处理
不再需要调用 json_last_error()
并评估整数响应代码,decode 和 encode 方法会抛出一个包含消息以及代码的异常。
<?php $invalidJson = '{'; try { $data = Json::decode($invalidJson); } catch (HGG\Json\Exception\RuntimeException $e) { printf("Error message: %s\n", $e->getMessage()); printf("Error code: %d\n", $e->getCode()); }
上面的代码示例将输出
Error message: JSON Error - Syntax error, malformed JSON
Error code: 4